[기술정리] 폴링

Stupefyee's avatar
Nov 14, 2024
[기술정리] 폴링
 
💡
주기적으로 데이터를 확인하여 상태나 변화를 감지하는 방식
클라이언트가 서버나 다른 시스템의 상태를 일정 간격으로 확인

1. 동작 원리

  1. 주기적 확인
      • 클라이언트가 일정 시간 간격으로 상태 확인을 위한 요청을 보냄.
  1. 응답 받기
      • 서버는 클라이언트의 요청에 응답하여 현재 상태나 데이터를 전달.
  1. 반복
      • 클라이언트는 일정 주기로 이 과정을 반복.

2. 장점

  • 단순한 구현
    • 클라이언트가 주기적으로 요청하면 되므로 구현이 간단.
  • 서버와 독립적
    • 클라이언트가 직접 요청하므로 서버의 특별한 설정 없이도 동작.

3.단점

  • 비효율적
    • 상태 변화가 자주 없을 때에도 주기적으로 요청하므로 불필요한 트래픽 발생.
  • 서버 부하
    • 클라이언트가 많은 경우 서버에 부하가 발생할 수 있음.
  • 실시간성 부족
    • 요청 주기 내에서 상태 변화를 놓칠 수 있음.

4. 비교: 옵저버 패턴 vs 폴링

  • 옵저버 패턴
    • 상태 변화가 있을 때만 알림을 받음. (효율적, 실시간성 보장)
  • 폴링
    • 주기적으로 확인하므로 비효율적일 수 있음. (실시간성 부족)

1-5. 적용 사례

  1. HTTP 폴링
      • 클라이언트가 주기적으로 서버에 요청을 보내 상태 확인.
  1. 파일 시스템 폴링
      • 클라이언트가 주기적으로 파일 시스템을 확인하여 변경 여부 감지.
Share article

stupefyee