IT/IT

Polling: 전통적인 실시간 데이터 통신 방식

iamhyeon 2025. 8. 27. 10:58

 

Polling이란?

웹 애플리케이션에서 클라이언트가 서버의 변경된 데이터를 얻기 위해 가장 먼저 사용된 방식이 Polling이다.

Polling은 클라이언트가 일정한 주기를 두고 서버에 요청을 보내고, 서버는 그 시점의 데이터를 응답하는 구조이다.

즉, 서버에서 이벤트가 발생했는지 여부를 알기 위해 클라이언트가 계속해서 물어보는 방식이라고 할 수 있다.

 

 

Polling의 특징

Polling 방식의 장점은 단순성이다.

특별한 설정이나 프로토콜 없이 기존의 HTTP 요청/응답 모델 위에서 동작하기 때문에 구현이 쉽다.

하지만 단순성 뒤에는 명확한 단점이 존재한다.

  • 서버에 변경 사항이 없어도 요청/응답이 발생하여 리소스가 낭비된다
  • 요청 주기를 짧게 잡으면 빠르게 변경 사항을 알 수 있지만, 서버에 과부하가 걸린다
  • 요청 주기를 길게 잡으면 서버 부담은 줄지만, 실시간성이 떨어진다

 

Long-Polling

Polling의 문제를 개선하기 위해 등장한 방식이 Long-Polling이다.

  • 클라이언트가 요청을 보내면 서버는 즉시 응답하지 않고 연결을 유지한다
  • 그 사이 서버에서 이벤트가 발생하면 응답을 전송한다
  • 클라이언트는 응답을 받자마자 다시 요청을 보내고 대기한다

Long-Polling은 Polling보다 불필요한 요청을 줄여 서버 자원 소모를 줄일 수 있다.

그러나 이벤트가 자주 발생하는 환경에서는 Polling과 큰 차이가 없고, 클라이언트 수가 많아지면 여전히 서버 리소스 부담이 급격히 증가한다.

 

Polling은 실시간 데이터 전송을 위한 가장 전통적이고 단순한 방식이다.

하지만 불필요한 요청과 응답, 낮은 효율성 때문에 규모가 큰 서비스에는 적합하지 않다.

이 한계를 보완한 것이 Long-Polling이며, SSE(Server-Sent Events)WebSocket 같은 기술들이 등장해 보다 효율적이고 실시간성 높은 데이터 통신 방식을 제공하게 되었다.

반응형