
[table-now] 1:1(예약자:가게) 채팅 기능 고도화를 위해 RabbitMQ Relay를 적용한 이유
·
Dev Projects
🔍 개요TableNow의 1:1 채팅 기능은 예약자와 가게 사장이 실시간으로 원활하게 소통할 수 있도록 제공된 기능이다. 초기에는 Spring의 SimpleBroker를 사용해 간단하게 구현되었지만, 멀티 인스턴스 환경에서 채팅 메시지가 공유되지 않는 문제점이 있었다.이에 따라 RabbitMQ를 도입하고, STOMP Relay 구조로 전환함으로써 실시간성과 확장성을 확보하고자 했다.이 글에서는 기존 구조의 한계와 개선 이유, 그리고 RabbitMQ Relay 구조를 선택하게 된 배경과 테스트 결과를 정리한다. ⚠️ 기본 채팅 구조의 한계 - SimpleBroker의 구조적 문제점Spring의 기본 메시지 브로커인 `SimpleBroker`는 다음과 같은 한계를 가지고 있었다:단일 서버 메모리 기반메시지..