<aside> <img src="/icons/reorder_gray.svg" alt="/icons/reorder_gray.svg" width="40px" />

목차


</aside>

1. 배경


프로젝트 초기에 구현한 실시간 채팅 기능은 WebSocket과 STOMP 프로토콜을 기반으로, 클라이언트로부터 메시지를 수신하면 DB에 동기적으로 저장한 후 해당 채팅방 구독자들에게 메시지를 전달하는 비교적 단순한 구조였습니다. 이 방식은 빠른 초기 개발에는 유리했지만, 서비스 사용자가 늘어나면서 다음과 같은 한계점들이 드러났습니다.

이러한 문제들을 해결하고 더 안정적이고 확장 가능한 실시간 메시징 구조를 구축하기 위해, 메시지 브로커 도입을 검토하게 되었습니다.

2. 선택


3. 결정 및 이유


종합적인 검토 끝에, Redis Pub/Sub를 도입하기로 결정했습니다. 이유는 다음과 같습니다.