개발 공부용

Spring - Websocket, Simple Broker, External Broker 본문

Java|Spring

Spring - Websocket, Simple Broker, External Broker

솝제로 2025. 3. 28. 18:57

 

Websocket 운영에서 고려할 요소
  • 연결 상태
    • 연결된 클라이언트 수
    • 신규 연결
    • 연결 종료 빈도 
  • 메시지 처리 성능
    • 메시지 지연 시간
    • 메시자 처리량
  • 리소스 사용량
    • CPU, 메모리 사용량
    • File Descriptor 사용 현황
  • 에러 및 예외
    • websocket 연결 에러
    • 전송 실패 빈도 

 

Websocket을 비즈니스적으로 봤을 때

  • 과거 사용자들 : 접속 상태 확인/메시지 즉시 전달 선호
  • 요즘 사용자들: 반응 기능(좋아요, 공지 등) 선호

 

사용자가 서비스를 자주, 오래 이용할 수록 매출 발생 가능성이 높아짐

-> Websocket 세션 수를 모니터링/기록함으로써 유저 활성도 지표 체크 필요

-> 또한 성과를 비즈니스적으로 증명할 수 있음

-> 이러한 모니터링을 돕는 것이 External Broker

 

 

Simple Broker(In-Memory Broker) vs. External Broker

 

 

Simple Broker?

  • 메시지 저장 불가(서버 종료시 사라짐)
  • 기본적인 topic 라우팅만 지원
  • Websoket에서만 동작
  • 단일 서버로만 동작
  • 수직적 확장 가능

 

External Broker?

  • 메시지 저장 가능
  • 고급 라우팅, 필터링 가능
  • 다른 시스템과 연동 가능
  • 여러 서버에서 메시지 공유 가능
  • 수평적 확장 가능

 

외부 브로커 작동 과정

 

 

참고 자료|

https://withseungryu.tistory.com/137

'Java|Spring' 카테고리의 다른 글

[JAVA] 가변 인자  (0) 2025.05.16
Spring - Test, AssertJ, TDD  (0) 2025.04.03
Spring - ORM, JPA, 커넥션 풀  (0) 2025.04.01
Spring - 웹소켓과 STOMP  (0) 2025.03.27
Spring - IoC, DI, AOP  (0) 2025.03.26