Polling이란?
웹 애플리케이션에서 클라이언트가 서버의 변경된 데이터를 얻기 위해 가장 먼저 사용된 방식이 Polling이다.
Polling은 클라이언트가 일정한 주기를 두고 서버에 요청을 보내고, 서버는 그 시점의 데이터를 응답하는 구조이다.
즉, 서버에서 이벤트가 발생했는지 여부를 알기 위해 클라이언트가 계속해서 물어보는 방식이라고 할 수 있다.
Polling의 특징
Polling 방식의 장점은 단순성이다.
특별한 설정이나 프로토콜 없이 기존의 HTTP 요청/응답 모델 위에서 동작하기 때문에 구현이 쉽다.
하지만 단순성 뒤에는 명확한 단점이 존재한다.
- 서버에 변경 사항이 없어도 요청/응답이 발생하여 리소스가 낭비된다
- 요청 주기를 짧게 잡으면 빠르게 변경 사항을 알 수 있지만, 서버에 과부하가 걸린다
- 요청 주기를 길게 잡으면 서버 부담은 줄지만, 실시간성이 떨어진다
Long-Polling
Polling의 문제를 개선하기 위해 등장한 방식이 Long-Polling이다.
- 클라이언트가 요청을 보내면 서버는 즉시 응답하지 않고 연결을 유지한다
- 그 사이 서버에서 이벤트가 발생하면 응답을 전송한다
- 클라이언트는 응답을 받자마자 다시 요청을 보내고 대기한다
Long-Polling은 Polling보다 불필요한 요청을 줄여 서버 자원 소모를 줄일 수 있다.
그러나 이벤트가 자주 발생하는 환경에서는 Polling과 큰 차이가 없고, 클라이언트 수가 많아지면 여전히 서버 리소스 부담이 급격히 증가한다.
Polling은 실시간 데이터 전송을 위한 가장 전통적이고 단순한 방식이다.
하지만 불필요한 요청과 응답, 낮은 효율성 때문에 규모가 큰 서비스에는 적합하지 않다.
이 한계를 보완한 것이 Long-Polling이며, SSE(Server-Sent Events)와 WebSocket 같은 기술들이 등장해 보다 효율적이고 실시간성 높은 데이터 통신 방식을 제공하게 되었다.
반응형
'IT > IT' 카테고리의 다른 글
미들웨어 Middleware (1) | 2025.08.02 |
---|---|
인텔리제이에서 클래스, 인터페이스, 테스트코드까지 빠르게 만드는 팁 모음 (1) | 2025.07.24 |
macOS | Linux 공통 주요 명령어 (0) | 2025.06.17 |
vi 또는 vim 편집기의 주요 단축키, 명령어 (1) | 2025.06.16 |
맥 MacOS 단축키 (0) | 2025.06.10 |