https://velog.io/@mw310/Stomp-WebSocket-개념-정리ver-Spring

Stomp란(Simple/Stream Text Oriented Message Protocol)
<aside>
💡
- websocket 위에서 동작하는 문자 기반 메세징 프로토콜로써 클라이언트와 서버가 전송할 메세지의 유형, 형식, 내용들을 정의하는 매커니즘이다.
- TCP와 웹소켓과 같은 신뢰할 수 있는 양방향 스트리밍 네트워크 프로토콜에서 사용할 수 있다.
- 기본적으로 pub / sub 구조로 되어있어, 메세지를 전송하고 받아 처리하는 부분이 확실히 정해져있다.
- http와 마찬가지로 frame을 사용해 전송하는 프로토콜이다.
</aside>
spring boot에서 사용할 시 장점
메시징 프로토콜과 메시징 형식을 개발할 필요가 없다.
STOMP 클라이언트는 Java 클라이언트를 포함해서 사용할 수 있다.
메시지 브로커를 사용하면 구독을 관리하고 메시지를 broadcast하는데 사용할 수 있다.
<aside>
💡
유저가 접속할 때 이를 모든 클라이언트에 알리고, 서버에도 로깅한다.
이때, 모든 클라이언트에 메세지를 보내는 것을 브로드캐스트(Broadcast) 한다고 말한다.
</aside>
메시지 브로커는 무엇일까?
<aside>
💡
- 서비스(어플리케이션) 간의 의존성 제거
- 메시지 처리 시점
- 다양하고 유연한 통신
</aside>
https://binux.tistory.com/74