PUSH 기법
푸시 기법 또는 서버 푸시(server push)는 인터넷 상에서 어떤 전송 요청이 중앙 서버에서 시작되는 정보 전달 방식이다. 이것은 전송 요청이 클라이언트에서 시작되는 풀 기법과 대비되는 것이다.
푸시 기법은 사용자가 일일이 요청하지 않아도 사용자에게 자동으로 뉴스나 사용자가 원하는 특별한 정보, 예를 들면 증권시장의 주기적인 정보 같은 것을 제공한다.
푸시 기법의 가장 큰 이점은 역시 정보의 맞춤화(Customization)가 가능하다는 점에 있다. 즉 사용자가 이미 등록되어 있기 때문에 등록된 사용자 정보에 의해 타겟을 정확히 선정할 수 있는 것이다.
https://ko.wikipedia.org/wiki/%ED%91%B8%EC%8B%9C_%EA%B8%B0%EB%B2%95
폴링과 콜백
일반적으로 상태를 알아오기 위한 방법에는 크게 두가지 방법이 있다.
하나는 상태를 주기적으로 조사를 해서 알아오는 것이고, 다른 하나는 상태를 알고 있는 주체(리스너)에게 알려 달라고 이야기(등록) 한 후 리스너가 알려주는 방식이다.
전자를 폴링(polling)이라고 하고 후자를 콜백(call-back)방식이라고 한다. 또한 후자를 비동기(asynchonous)적인 방법이라고 한다. 인터넷 분야에서는 전자를 pull technology, 후자를 Push technology라고 하기도 하는 것 같다.(서버관점에서)
폴링의 경우에는 궁금한 놈이 바쁘게 일하는 방식이다. 문제는 일을 계속해야 한다는 점이다. 근데 일을 하는 것 자체가 부하가 된다.
실생활의 예를 들어보자.
집에 중요한 택배를 시켜놓고 왔다. 다행히 집에 어머니가 계셔 전화로 물어보니 아직 안왔다고 한다.
폴링의 경우라면 1시간 마다 집에 전화를 걸어 택배가 왔는지 물어보는 방법을 취할 수 있겠다. 엄마가 3시간 후에는 짜증을 낼 수도 있다.(부하)
콜백방식을 쓴다면, 한번 집에 전화를 걸어 어머니에게 혹시 택배가 오면 사무실로 전화를 해달라고 요청을 하기만 하면 된다. 사무실에서 일을 하다가 전화를 받아서 택배가 온 상황을 통보받으면 되는 것이다.
푸시서버(Push notification server)
카카오톡 등의 웹 기반의 실시간 채팅 어플리케이션은 서버가 클라이언트(예. 스마트폰)에게 알려줄 정보(예. 메시지)가 있을 경우 실시간으로 알려주어야 할 필요가 있다.
출처: http://namocom.tistory.com/111 [나모의 노트]
정보를 가지고 있는 사이트에서 사용자에게 원하는 정보를 밀어내 준다(push)는 점
푸시 시스템은, 매일 아침 우유나 신문이 집 앞에 배달되듯이, 이미 등록이 되어있는 서버에서 원하는 시간에 원하는 내용을 자신의 컴퓨터로 정기적으로 배달되도록 하는 방식의 기술을 말한다.
푸시 시스템의 작동 과정
이용자가 푸시 정보를 받아보는 과정은 다음과 같다.
- 사용자는 일단 정보생산자의 사이트나 채널에, 자신이 원하는 정보와 자신의 인적 사항을 담은 정보 파일을 생산자에게 보내어 등록한다. 또 사용자는 정보가 전송되어야 할 예정시간을 정해야 한다.
- 사용자의 예정 시간에 맞추어 PC는 인터넷에 연결되고 클라이언트의 소프트웨어는 정보 생산자의 서버를 인식하여야 다운로드가 가능해진다. 서버는 해당 사용자의 프로파일(profile)에 적합한 정보를 모으고 사용자의 컴퓨터에 해당 정보를 다운로드한다.
- 서버에서 다운로드가 끝나면 클라이언트 쪽에서는 언제든지 하드디스크에 저장된 정보를 이용하면 된다.
푸시 클라이언트 쪽에서의 동작 과정을 살펴보면 다음과 같다
- 환경 설정하기 : 우선 사용자는 일정 주기(몇 초, 분, 시간 등)에 한번씩 데이터를 갱신하라고 환경을 설정한다. 이 때 실제로 자신이 원하는 정확한 뉴스와 정보들만 자신에게 가져오라는 설정도 함께 하게 된다.
- 클라이언트 서버 교환 : 이러한 환경 설정에 따라서 푸시 클라이언트는 실제로 정해진 시간에 서버에 접속하여 사용자가 원하는 분류의 정보만 가지고 온다.
- 뉴스 전달 : 사용자는 이미 푸시 클라이언트가 가져와서 로컬 파일 시스템(하드디스크)에 저장한 정보를 언제든지 읽으면 된다.
출처: http://lune0929.tistory.com/entry/정리-푸시기술의-개념 [보람의 IT 이야기]
PULL 기법
https://en.wikipedia.org/wiki/Pull_technology
차이점
정보의 흐름을 누가 통제하느냐 하는 점
'기타내용' 카테고리의 다른 글
클러스터서버(Cluster) (0) | 2018.04.27 |
---|---|
아키텍처 MSA (1) | 2018.04.26 |
software testing 종류 (0) | 2017.08.10 |
CIDR (0) | 2017.08.08 |
개발자 블로그 (0) | 2017.06.28 |