Message Broker
애플리케이션, 시스템, 서비스 간 통신과 정보 교환을 중개하는 소프트웨어
개요
메시지 브로커는 서로 다른 언어/플랫폼으로 구현된 서비스들이 직접 통신할 수 있도록 메시징 프로토콜 간 변환을 담당하는 **메시징 미들웨어(MOM, Message-Oriented Middleware)**의 핵심 컴포넌트다.
주요 기능
- 메시지 검증: 전달 전 메시지 유효성 검사
- 메시지 저장: 수신자가 처리 가능할 때까지 큐에 저장
- 라우팅: 메시지를 적절한 대상으로 전달
- 프로토콜 변환: 상이한 메시징 프로토콜 간 변환
메시지 큐 (Message Queue)
- 수신자가 처리 가능할 때까지 메시지를 순서대로 저장
- 메시지 전송 순서 보장, 수신 확인까지 큐에 유지
- 비동기 메시징 지원: 연결 단속/지연 문제에도 시스템 지속 작동
통신 패턴
| 패턴 | 설명 |
|---|---|
| Point-to-Point | 단일 송신자 → 단일 수신자 |
| Pub/Sub | 토픽 기반, 다수의 구독자에게 메시지 전달 |
주요 메시지 브로커 비교
| 도구 | 특징 |
|---|---|
| Apache Kafka | 고처리량, 분산 로그 기반, 스트리밍에 강점 |
| RabbitMQ | AMQP 표준, 유연한 라우팅, 복잡한 토폴로지 지원 |
| ActiveMQ | JMS 표준, 엔터프라이즈 환경 |
관련 노트
- Apache Kafka - Kafka 설치 및 SASL 설정
- kafkactl - Kafka CLI 관리 도구
- 분산 환경과 서비스 - 분산 시스템 아키텍처 (SOA)