RabbitMQ 장애, Quorum Queue로 해결!
by DD
7개월 전
조회수 10
RabbitMQ Classic Queue의 메모리 부족으로 쿠폰 발급 중단 사태 발생
Classic Mirrored Queue의 구조적 한계로 인해 브로커 재시작 시 장애 악화
Quorum Queue 전환 및 모니터링 시스템 구축으로 장애 발생 빈도 100% 감소
Classic Mirrored Queue의 구조적 문제점
Classic Mirrored Queue는 Master-Mirror 구조로, 메모리 부족 시 Mirror 노드 동기화 실패가 발생한다. 구체적으로, 브로커 재시작 과정에서 메모리 사용량 급증으로 인해 unsynchronized 상태가 빈번하게 발생했다. 따라서, 고부하 환경에서 가용성 저하를 야기했다.
Quorum Queue 전환의 기술적 이점
Quorum Queue는 Raft Consensus 알고리즘 기반으로, Master 노드 장애 시 즉시 새로운 리더를 선출한다. 따라서, 데이터 일관성을 보장하며, 자동 장애 복구를 지원한다. 반면, Classic Mirrored Queue는 수동 개입이 필요하여 복구 시간 지연의 단점이 있었다.
대용량 메시징 시스템 운영 가이드
사전 설계 단계에서 트래픽 패턴을 고려한 Queue Type 선택이 중요하다. 구체적으로, 메모리 여유분 확보 및 브로커 이중화 구성을 통해 SPOF(Single Point of Failure)를 제거해야 한다. 따라서, 모니터링 체계 구축을 통해 장애를 예방해야 한다.