[네트워크] Polling 방식

Meltsplit·2023년 7월 26일
0

인디언포커

목록 보기
1/2

Polling이란

Polling은 세가지 분야에서 사용된다.

  • CPU
  • 네트워크

CPU

  • Polling은 특정 주기를 가지고 그 주기 마다 처리를 위한 시그널이 들어 왔는지를 체크한다.
  • ex) 키보드의 변화를 CPU가 지속적으로 계속 확인하고 그에 따라 프로그램을 처리한다.

네트워크

  • 하나의 장치(또는 프로그램)가 충돌 회피 또는 동기화 처리 등을 목적으로 다른 장치(또는 프로그램)의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식을 말한다.

  • 브라우저가 일정한 주기로 HTTP 요청을 보내는 방식이다.
  • 불필요한 서버 및 네트워크 부하가 늘어난다는 단점이 있다.

세가지 모두 주기적으로 확인한다는 것이 핵심이다.

나는 클라이언트서버에게 데이터를 주기적으로 체크하는 Polling방식을 알아보고자 한다.

위 분야 중에선 에 해당되는 내용일 것이다.

왜 Polling 방식을 쓸까

HTTP 방식은 기본적으로 단방향 통신을 위해 만들어진 규약이다.

단, 야구 실시간 중계 혹은 GPS 위치 탐색등 실시간으로 감지해야 할 일이 있을 것이다.

따라서 HTTP 프로토콜을 통해 실시간 통신처럼 보이게끔 하기 위해 탄생한 방식이다.

Polling 작동 원리

Client가 주기적으로 평범한 Request를 보내 response를 전달받는 방식이다.

Polling의 장점

  • 구현이 쉽다.
  • 일정하게 갱신되는 서버일때 유용하다.

Polling의 단점

  • Client가 많아지면 서버 부담이 급증한다.
  • Client측에서 실시간 속도의 빠른 응답을 받긴 어렵다.
  • 불필요한 요청이 많아 서버 부하를 일으킬 수 있다.
  • HTTP 오버헤드가 발생할 수 있다.

총평

Polling은 구현은 간단하지만 성능면에선 좋은 효율을 내긴 어렵다.
이를 조금 더 발전 시킨 것이 Long Polling 방식이 있다.
다음 포스트에서 Long Polling에 대해 작성하겠다.

profile
iOS Developer

1개의 댓글

comment-user-thumbnail
2023년 7월 26일

개발자로서 성장하는 데 큰 도움이 된 글이었습니다. 감사합니다.

답글 달기