RabbitMQ
AMQP, MQTT, STOMP를 지원하며 신뢰할 수 있는 큐, 라우팅, 발행/구독 메시징으로 서비스를 분리하는 성숙하고 널리 사용되는 메시지 브로커입니다.
개요
RabbitMQ는 애플리케이션이 서로 직접 호출하는 대신 큐와 익스체인지에 메시지를 발행함으로써 비동기적으로 통신할 수 있게 해주는 범용 메시지 브로커입니다. AMQP 0-9-1, AMQP 1.0, MQTT, STOMP 등 여러 메시징 프로토콜을 구현하고 있어, 서로 다른 언어와 프레임워크로 작성된 프로듀서와 컨슈머가 동일한 브로커를 통해 메시지를 주고받을 수 있습니다.
익스체인지와 바인딩 기반 라우팅 모델은 일반적인 메시징 패턴을 기본으로 지원합니다. 워커들 사이에 백그라운드 작업을 분배하는 단순한 워크 큐, 여러 컨슈머에게 팬아웃하는 발행/구독, 더 선택적인 전달을 위한 토픽 기반 라우팅 등이 그것입니다. RabbitMQ는 고가용성을 위해 클러스터를 구성할 수 있으며, 관리 UI와 CLI 도구를 통해 프로덕션 환경에서 큐 길이, 컨슈머 수, 메시지 흐름을 쉽게 확인할 수 있습니다.
RabbitMQ는 느린 작업을 백그라운드 컨슈머에 넘기는 식으로 서비스를 분리하고 부하를 완화할, 전통적이고 검증된 작업 큐 또는 메시지 브로커가 필요한 팀에 적합합니다. 반면 대용량 이벤트 스트리밍과 리플레이를 위해 만들어진 분산 로그가 필요하다면, 카탈로그에 함께 있는 Apache Kafka가 더 가까운 선택입니다.
- 카테고리
- 백엔드
- 언어
- Erlang
- 라이선스
- MPL-2.0
관련 프로젝트
Apache Kafka
Apache-2.0데이터를 영구적이고 재생 가능한 로그로 저장하는 분산 이벤트 스트리밍 플랫폼으로, 전통적인 1:1 큐잉이 아니라 고처리량 실시간 파이프라인을 위해 만들어졌습니다.
- 백엔드
Dapr
Apache-2.0상태 관리, 발행/구독 메시징, 서비스 호출, 워크플로 등 마이크로서비스의 구성 요소를, 어떤 언어에서든 사이드카 API를 통해 사용할 수 있게 해주는 이식 가능한 런타임입니다.
- 백엔드
NATS
Apache-2.0단순함과 낮은 운영 부담을 중심으로 만들어진, 클라우드 네이티브 애플리케이션을 위한 경량 고성능 메시징 시스템입니다.
- 백엔드
Apache RocketMQ
Apache-2.0매우 높은 처리량에서 금융 등급의 트랜잭션 신뢰성을 위해 만들어진 분산 메시징·스트리밍 플랫폼입니다.
- 백엔드
잘못된 정보를 발견하셨나요? GitHub에서 수정 제안하기