RabbitMQ에 대해서
- AMQP Protocol 구현: RabbitMQ는 AMQP (Advanced Message Queuing Protocol)를 구현한 메시지 브로커 시스템입니다. AMQP는 메시지 지향, 큐잉, 라우팅(Publish/Subscribe, Request/Reply), 신뢰성, 보안 등을 제공하는 오픈 표준 프로토콜입니다.
- 메시지 브로커 시스템: 메시지 브로커 시스템으로서, RabbitMQ는 메시지를 생산하는 Producer와 소비하는 Consumer 간의 결합도를 낮추고 확장성과 유연성을 향상시킵니다.
- 클러스터링과 고가용성: 클러스터링을 통해 메세지 큐의 고가용성을 보장합니다. 고가용성은 클러스터 내부에서 장애가 발생한 노드 또는 파드의 상태를 파악하고, 부하 분산을 통해 자동 복구를 지원합니다.
- 메시지 지속성: 메세지를 디스크에 저장하여 시스템 장애가 발생해도 메세지를 보존할 수 있습니다.
- 언어 및 플랫폼 지원: RabbitMQ는 다양한 프로그래밍 언어와 플랫폼을 지원합니다. 이를 통해 서로 다른 어플리케이션 간의 데이터 공유가 가능하며, 이는 시스템 간의 통합과 데이터 교환에 매우 유용합니다.
주요용어 및 간단한 설명
이름 | 설명 |
Host | RabbitMQ 서버의 도메인 이름 또는 IP 주소. 로컬 환경에서는 보통 'localhost'입니다. |
Port | RabbitMQ 서버에 접근하기 위한 네트워크 포트. 기본값은 일반적으로 5672입니다. |
UserName | RabbitMQ 서버에 접근하기 위한 사용자 계정 ID |
Password | 사용자 계정의 로그인 비밀번호 |
Producer | 메시지를 생성하고 RabbitMQ로 보내는 역할을 하는 발행자 |
Consumer | RabbitMQ로부터 메시지를 받아 처리하는 역할을 하는 수신자 |
Queue | 메시지가 적재되는, 일련의 메시지를 저장하는 선형 자료구조. 소비자(Consumer)는 여기서 메시지를 받습니다. |
Exchange | Producer로부터 메시지를 받아, 미리 정의된 라우팅 규칙에 따라 해당 메시지를 하나 이상의 큐(Queue)에 전달하는 구성요소입니다. |
Binding | Exchange와 Queue 사이의 관계를 정의하는 규칙. 특정 조건(라우팅 키, 바인딩 키)에 따라 Exchange가 메시지를 특정 Queue에 라우팅하는 방법을 결정합니다. |
Routing Key | Producer가 메시지와 함께 제공하는 라벨. Exchange는 이 라우팅 키를 사용하여 Binding 규칙에 따라 메시지를 적절한 Queue로 라우팅합니다. |
Acknowledgement | 메세지를 성공적으로 소비했는지 확인하는 역할 |
'Queue System' 카테고리의 다른 글
RabbitMQ (4) (0) | 2024.02.17 |
---|---|
RabbitMQ (3) (0) | 2024.01.24 |
RabbitMQ (2) (0) | 2024.01.23 |
Message Queue vs Event Queue (1) | 2024.01.21 |