본문으로 건너뛰기
FindOpenSource

RabbitMQ

AMQP, MQTT, STOMP를 지원하며 신뢰할 수 있는 큐, 라우팅, 발행/구독 메시징으로 서비스를 분리하는 성숙하고 널리 사용되는 메시지 브로커입니다.

개요

RabbitMQ는 애플리케이션이 서로 직접 호출하는 대신 큐와 익스체인지에 메시지를 발행함으로써 비동기적으로 통신할 수 있게 해주는 범용 메시지 브로커입니다. AMQP 0-9-1, AMQP 1.0, MQTT, STOMP 등 여러 메시징 프로토콜을 구현하고 있어, 서로 다른 언어와 프레임워크로 작성된 프로듀서와 컨슈머가 동일한 브로커를 통해 메시지를 주고받을 수 있습니다.

익스체인지와 바인딩 기반 라우팅 모델은 일반적인 메시징 패턴을 기본으로 지원합니다. 워커들 사이에 백그라운드 작업을 분배하는 단순한 워크 큐, 여러 컨슈머에게 팬아웃하는 발행/구독, 더 선택적인 전달을 위한 토픽 기반 라우팅 등이 그것입니다. RabbitMQ는 고가용성을 위해 클러스터를 구성할 수 있으며, 관리 UI와 CLI 도구를 통해 프로덕션 환경에서 큐 길이, 컨슈머 수, 메시지 흐름을 쉽게 확인할 수 있습니다.

RabbitMQ는 느린 작업을 백그라운드 컨슈머에 넘기는 식으로 서비스를 분리하고 부하를 완화할, 전통적이고 검증된 작업 큐 또는 메시지 브로커가 필요한 팀에 적합합니다. 반면 대용량 이벤트 스트리밍과 리플레이를 위해 만들어진 분산 로그가 필요하다면, 카탈로그에 함께 있는 Apache Kafka가 더 가까운 선택입니다.

카테고리
백엔드
키워드
message-queuemessage-brokerpubsubamqptask-queue
언어
Erlang
라이선스
MPL-2.0

잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기