sm 기술 블로그

[스프링부트] WebSocket와 stomp 본문

스프링부트

[스프링부트] WebSocket와 stomp

sm_hope 2022. 9. 13. 21:35

WebSocket

하나의 TCP 연결로 양방향 통신을 제공하는 프로토콜로 한번 연결을 맺은 뒤 유지된다.

 

STOMP

Simple Text Orienteated Messaging Protocol의 약자로, 중개 서버를 통해서 클라이언트간에 비동기적 메시지를 전송하기 위한 프로토콜이다.

 

stomp는 pub-sub 방식이다. 

하나의 채널을 클라이언트가 구독(Subscribe)하면 구독 중인 모든 클라이언트에게 메시지를 발행(Publish)한다.

 

다음과 같이 발신자와 구독자가 있다.

 

websocket으로만 통신을 하면 다음과 같은 방향을 지닌다.

다시말해 서버를 지나지 않고 바로 구독자에게 메시지를 보낸다.

 

그렇게 되면 연결이 끊어질때 메시지가 사라지는 경우가 있다.

 

여기에 STOMP를 얹는다면,

서버를 지나기 때문에 메시지를 따로 보관할 수 있다.

 

참고

https://www.youtube.com/watch?v=rvss-_t6gzg 

Comments