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?
- 메시지 저장 가능
- 고급 라우팅, 필터링 가능
- 다른 시스템과 연동 가능
- 여러 서버에서 메시지 공유 가능
- 수평적 확장 가능
외부 브로커 작동 과정
참고 자료|