서버에서 발생한 Event를 특정 클라이언트에게 통지하는 기술.
대표적으로 SNS application이 있다.
모바일에서 주로 사용되는 기술인데, 이는 모바일 장치의 배터리를 절약시켜주기 때문이다.
작동 순서는 다음과 같다.(FCM 사용)
Operating System Push Notification Service
IOS와 Android 운영체제는 각각의 운영체제의 Push Notification Service를 가지고 있다.
Apple Push Notification Service, apple의 OSPNS
push message를 만드는 사람은 이를 apple로 보낸다.
apple은 이를 각각의 소비자에게 전달하며, 핸드폰에 알림이 울리게 된다.
단방향은 HTTP, 양방향은 XMPP(Extensible Messaging and Presence Protocol) 또는 socket을 사용한다.
push message provider는message를 message broker에 message queue의 형태로 저장한다.
이는 1대1 push일 경우와 1대N의 경우가 있다.
소비자마다의 queue에 메시지를 넣는다. 이후, 사용자가 연결되었을때, queue에서 메시지를 빼내 처리하는 방식으로 메시지를 전달한다.
Topic별로 queue를 생성하여, 소비자가 해당 topic을 구독하는 방식이다.
공급자는 소비자를 모른 채로 Topic에 알맞은 queue에 메시지를 넣으며, 이후, message broker가 해당 topic을 구독한 소비자에게 메시지를 전달하는 형식이다.