728x90
반응형

Polling 이란

폴링이란 주기적으로 문의하여 조건에 맞으면 처리해주는 방식 이라고 한다.
필요한 것이 있는지 물어보고 있으면 처리해주는 방식 또는 주기적으로 상대방을 호출해서 처리할 것이 있는지 확인하여 있으면 처리하는 방식이라고 한다. 그리고 다른 장치의 상태를 주기적으로 검사하여 일정한 조건을 만족할 때 송수신 등의 자료처리를 하는 방식이라고도 한다.

 

폴링의 목적은 충돌을 회피하고 동기화 처리 등을 하기 위해 사용한다.

 

폴링의 단점은 처리할 것이 없더라도 주기적으로 상대방을 호출해서 처리할 것이 있는지 물어보기 때문에 주기적으로 트래픽이 발생하는 단점을 가지고 있다.

 

폴링의 문제로는 주기에 대한 문제가 있는데 주기가 짧으면 서버의 성능에 부하를 주게 되고 주기가 길면 실시간 성능이 떨어지는 문제가 발생할 수 있다.

 

 

Long Polling 이란

롱 폴링은 폴링 기술의 일종이다.

 

롱 폴링은 서버 측에서 접속을 열어두는 시간을 길게 하는 방식이다. 주기적으로 확인을 하는 대신 서버 이벤트 발생 시점에서 결과를 받는 방식으로 되어있다. 클라이언트가 서버에 정보를 요청하면 지정한 기간 동안 연결을 유지한다. 정보가 있으면 결과를 보내주고 정보가 없으면 정보가 발생할때까지 대기한다. 만약 지정한 기간이 끝나게 되면 다시 요청한다.

 

 

롱 폴링은 이벤트가 발생하면 바로 응답이 이루어지기 때문에 실시간성이 아주 높고 스트리밍 방식과 달리 웹 브라우저 환경에 관계없이 사용할 수 있기 때문에 흔히 사용할 수 있는 방식이라고 한다.

 

다만, 메시지의 양이 많다면 폴링에서 롱 폴링으로 전환해도 성능이 개선되지 않는다고 한다.

 

 

정리

폴링은 주기적으로 요청해 처리할 것이 있는지 확인하는 방식이다. 다만 처리할 것이 없더라도 계속해서지속적으로 요청을 해야하기 때문에 트래픽이 발생한다는 단점이 있다. 폴링은 충돌을 회피하고 동기화를 처리를 목적으로 사용된다. 

 

롱 폴링은 폴링의 일종으로 서버 측에서 접속할 수 있게 일정 기간동안 연결을 유지하는 방식이라고 생각할 수 있다.

 

그럼 언제 폴링을 사용하고 언제 롱 폴링을 사용해야할까?

 

폴링을 선택하는 경우

  • 응답이 실시간이 아니어도 괜찮거나 3초 이상의 시간차가 발생해도 괜찮은 경우
  • 10명 이상의 상대와 통신을 해야하는 경우
  • 다른 애플리케이션 서버와 함께 작동해야하는 경우
  • 예를 들어, 전체 채팅이 필요한 게임

 

롱 폴링을 사용하는 경우

  • 짧은 주기의 실시간 응답이 필요한 경우
  • 메신저와 같이 일대일 통신이나 적은 사용자의 통신을 하는 경우
  • 채팅 서버만 분리할 수 있는 경우
  • 예를 들어, 여러 SNS 의 메신저

 

마지막으로 네트워크 상에서 실시간으로 통신하는 방식(COMET) 으로 폴링, 롱 폴링, 스트리밍 방식이 있다고 하고 
이보다 더 좋은 성능을 가지는 WebSocket 에 대한 이해도 같이 하면 좋을 것 같다는 생각이 들었다.

 

 

- 참고 사이트 -

https://zetawiki.com/wiki/%ED%8F%B4%EB%A7%81

 

폴링 - 제타위키

다음 문자열 포함...

zetawiki.com

http://clearpal7.blogspot.com/2016/06/vs.html

 

(네트워크)폴링방식 vs 롱 폴링방식

*리얼타임 웹을 위한 기법으오 일정한 주기를 가지고 서버와 응답을 주고받는 방식이 폴링방식이다. 이는 Ajax Polling이라고도 불리는데 주로 Ajax호출을 사용하기 때문이다. 하지만 이 폴링기법은

clearpal7.blogspot.com

https://valuefactory.tistory.com/263

 

실시간 데이터 송신의 진화 : 폴링 방식, 롱폴링 방식, 웹소켓

출처 : http://mohwaproject.tistory.com/entry/%E3%85%81%E3%85%81%E3%85%81 HTML5 WebSocket은 웹에서 양 방향 통신을 지원하며, 그에 따른 실시간 서비스를 구현하기에 적합한 기술입니다. 또한, HTTP 실시간 통신 방식(

valuefactory.tistory.com

 

728x90
반응형

'시스템 > 네트워크' 카테고리의 다른 글

네트워크 CIDR 이해하기  (0) 2022.03.13
네트워크 fat tree 구조  (0) 2022.01.30
배스천 호스트(Bastion Host)  (0) 2021.06.13
네트워크 장비(브릿지, 스위치, 라우터)  (2) 2020.10.28
OSI 7 Layer (OSI 7 계층)  (0) 2020.10.28
복사했습니다!