반응형
코드빌런님의 'RabbitMQ를 이용한 비동기 아키텍처 한방에 해결하기' 강의를 보고 공부한 기록입니다.
개요
RabbitMQ는 메시지 전송 브로커 오픈소스이며, 시스템 간 비동기 메시징을 가능하게 한다.
아래와 같은 특징을 가진다.
- 플랫폼 중립적
- 다언어 클라이언트 라이브러리 제공
- 유연한 성능 및 안정성 제공
- 메시지 손실 방지: 클러스터 설정 시, 큐를 High Available로 설정하여 여러 노드에 저장
- Federation 플러그인을 통해 데이터 동기화, 다중 마스터 복제 구성 가능
- 과부하 분산, 비동기 처리와 지연이 필요한 작업을 효과적으로 관리
도메인 활용
- Event-Driven Architecture(EDA): 주문, 결제, 배송 등의 비즈니스 도메인을 이벤트 기반의 독립적인 도메인 모듈로 구성
- 로그 및 모니터링
- 채팅 및 알람
- 비동기 데이터 처리
- 여러 디바이스의 요청 처리
사용 이유
- 응용 프로그램 간 데이터 송수신
- 큐를 이용한 비동기 처리로 병목 방지
- 분산 환경에서 서비스 분리: 독립적 확장 가능, 모듈 구성 용이
- 데이터 유실 방지: 데이터를 디스크에 저장하여 지연 처리 및 복구 가능 - 신뢰성 보장
- 확장성: 필요 시, 메시지를 클러스터링 하거나 페더레이션 방식으로 확장 가능
- 유연성: 다양한 exchange 유형과 라우팅 규칙 지원
- 광범위한 프로토콜 지원(기본 AMQP)
- 풍부한 클라이언트 라이브러리(다언어)
반응형
'인프라 > Message Queue' 카테고리의 다른 글
| RabbitMQ - AMQP (0) | 2026.01.07 |
|---|