Backend최적의 메시지 브로커를 찾아서
이 글은 매드업의 광고 데이터 수집 시스템 '프리즘'에서 메시지 브로커를 선택하고 변경해 온 여정을 다룹니다. 프리즘은 여러 마이크로 서비스 간의 비동기 통신을 위해 메시지 기반 방식을 사용하며, 안정적인 메시지 전달(최소 한 번), 유연한 컨슈머 스케일링, 효율적인 메시지 분배라는 세 가지 주요 기능 요건을 충족하는 메시지 브로커를 필요로 합니다. 초기에는 SQS를 사용했으나, 이후 Kafka로 전환했으며, 현재는 RabbitMQ를 사용하고 있습니다. 각 메시지 브로커를 사용하면서 겪었던 경험과 변경 이유를 실제 사례를 바탕으로 설명하며, 최적의 메시지 브로커를 찾아가는 과정에서의 기술적 고민과 해결 방안을 공유합니다.






