기타

[채팅] 메시지

홍성곤 2016. 12. 19. 13:55

개념 

- 메시지(message): 애플리케이션 간에 교환되는 데이터
- 목적지(destination): 메시지를 교환하는데 사용되는 주소의 한 형태
- 공급자(producer): 메시지를 목적지로 보내는 애플리케이션
- 소비자(consumer): 메시지를 받는 애플리케이션
- 중개자(broker): 공급자로부터의 메시지를 다루고 목적지에 따라 소비자에게 메시지를 전달하는 하나의 독립된 개체

메시징 모델

1) 점대점(Point to Point)
- 공급자에 의해 보내진 메시지가 1명의 소비자에게만 전달된다. 공급자는 목적지(Queue)에 메시지를 보내고 이 목적지를 구독하고 있는 소비자들 중 한 소비자만 메시지를 받는다.



2) 게시/구독(publish/subcribe, pub/sub)
- 공급자의 메시지가 여러명의 소비자에게 전달된다. 공급자는 목적지(topic)로 메시지를 보내고 이 topic을 구독하고 있는 소비자는 모두 메시지를 받는다.


메시지 표현
- 목적지, 헤더, 바디로 구성된다.
- 목적지: 채팅프로그램으로 예를들면 채팅방 이다. 메시지에 어떤 채팅방인지에 대한 정보가 들어가게 되고 메시지를 받은 소비자는 메시지가 어느 채팅방에서 온 메시지인지 구별할 수 있게 된다.
- 헤더: 메시지에 메타데이터를 추가할 때 사용한다. 메타데이터는 메시지 식별자, 타임스탬프 등등 메시지에 대한 맥락정보들에 관한것을 말한다.
- 바디: 실제 메시지. STOMP는 텍스트 형식으로 정의된다.