Stomp
- 단순 택스트 지향 메세징 프로토콜
- 메세지 전송을 위한 프로토콜로, 메세지 브로커와 publisher-subscriber 꼴로 연결됨
일단 동작 방식은 이건가
- stomp는 웹소켓 위에서 동작하므로 클라이언트-서버 웹소켓 연결
- 클라이언트는 웹소켓을 통해 stomp 프레임 전송 (command : CONNECT)
- 클라이언트는 SUBSCRIBE command를 활용하여 서버의 채널 구독
- 클라이언트는 SEND command를 활용하여 메세지 전달
- 해당 메세지는 클라이언트와 연결된 서버에서만 처리됨
- 해당 메세지를 다른 서버에서 처리하려면 브로커에 publish하여 다른 서버가 consume할 수 있도록 해야함
- 특정 채널을 구독한 클라이언트는 브로커로부터 메세지를 전달받을 수 있음
- 주로 /topic, /queue에 대한 토픽을 구독함
stomp는 frame 기반의 서브 프로토콜임
즉 웹소켓은 메세지 주고받는 형식이 없는데 stomp는 frame 기반으로 채팅 통신 형식을 지정해줌
stomp의 프레임은 command, header, body + null_str로 구성됨
command :connect, subscribe, send 등등이 있음
header : key-value 꼴의 정보를 포함함
body : 데이터(payload)를 포함하고 마지막에 null_str로 끝남
kafka