폴링(polling)이란? 지속적인 요청
- IT
- 2023. 6. 4.
Polling이란?
컴퓨터 과학에서 polling은 클라이언트가 주기적으로 서버에 데이터를 요청을 보내는 프로세스입니다. 예를 들어, 1초에 한번씩 "혹시 변경된 사항이 있니?"라고 서버에 묻는 겁니다. 대답이 없어도 계속 묻고, 새로운 내용이 있으면 반영합니다. 이 방식으로 클라이언트는 최신 정보를 유지합니다.
이처럼 폴링 작업은 실시간 정보를 제공해야하는 애플리케이션에서 활용됩니다. 특히 폴링은 이해하고 구현하기 쉬운 단순한 형태이며, HTTP 같은 범용적인 프로토콜을 사용하기 때문에 다양한 플랫폼과 기기에서 활용하기 좋습니다.
주기적으로 상태를 확인한다는 점에서 polling은 heartbeat과 닮은 거 같기도 하지만, 둘은 목적이 다릅니다. polling은 클라이언트가 서버에 정보를 요청함으로써 최신 데이터를 반영하기 위해 사용하지만 heartbeat은 두 시스템 간의 연결 상태가 살아있음을 확인하는데 목적이 있습니다.
Polling 예시
IoT (Internet of Things) 장치들은 주로 센서를 통해 데이터를 수집하고 이를 중앙 서버나 클라우드에 전송합니다. 예를 들어, 스마트 홈에서는 폴링을 사용하여 센서 (온도, 습도, 조명, 모션 등)의 상태를 주기적으로 확인하고 이를 통해 조명을 제어하거나 에어컨이나 히터를 켜거나 끄는 등의 액션을 취합니다.
새로운 메일이 존재하는지 주기적으로 폴링하는 이메일 클라이언트, 새로운 메시지가 실시간으로 전달됐는지 확인하는 채팅 앱, 실시간으로 주식 가격을 폴링하는 주식 거래 앱 등도 생각해 볼 수 있습니다.
하드웨어 관점으로는 키보드의 polling rate 개념도 있습니다. 키보드의 polling rate은 키보드가 키 입력을 컴퓨터에 보내는 빈도를 나타냅니다. 일반적인 키보드의 polling rate는 125Hz, 즉 초당 125번입니다. 그러나 게이밍 키보드에서는 1000Hz까지도 가능합니다. 이렇게 높은 polling rate는 게임 중에 빠르고 정확한 키 입력을 보장합니다.
polling 단점
폴링은 필요하지 않은 상황에서도 계속해서 서버에 요청을 보내는 행위이기 때문에 효율적이지 못하고, 서버에 과부하를 줄 수 있습니다. 이런 문제를 해결하기 위해 Long Polling, WebSockets, Server-Sent Events (SSE), HTTP/2 등의 다른 방법들이 사용되기도 합니다. 위에서 언급한 예시도 마찬가지입니다. 이메일 클라이언트라고 해서 무조건 폴링 방식을 쓰는 건 아닙니다.
'IT' 카테고리의 다른 글
맥북 m1 m2 초기화하는 방법 (0) | 2023.06.05 |
---|---|
맥북 한글 파일 편집 방법 (무료 한컴독스) (0) | 2023.06.04 |
데이터마이닝 NER OCR 개념 (0) | 2023.06.03 |
IE, ActiveX 컨트롤 설치 원리와 취약점 (0) | 2023.05.30 |
COM(Component Object Model)이란? (0) | 2023.05.29 |