📌 AMQP는 메시지 큐 시스템에서 사용되는 표준 프로토콜입니다.
|
※ RabbitMQ란?
RabbitMQ란 오픈 소스 메시지 브로커(Message Broker) 소프트웨어로, AMQP(Advanced Message Queuing Protocol)를 구현한 메시지 큐 시스템입니다. 메시지를 생성하는 Producer(생산자)와 메시지를 소비하는 Consumer(소비자) 간의 비동기 메시지 전송을 지원합니다.
|
※ AMQP란?
AMQP란 Advanced Message Queuing Protocol의 약자로, 메시지 큐 시스템에서 사용되는 표준 프로토콜입니다. 서로 다른 시스템 간에 메시지를 주고받을 때 어떤 규칙을 따라야 하는지 정의한 일종의 약속과 같은 것이죠. 이 프로토콜을 따르면 다양한 시스템들이 서로 간섭 없이 효율적으로 통신할 수 있습니다.
|
※ RabbitMQ의 주요 개념
🟢 메시지(Message)
메시지는 데이터 조각을 의미하며, 일반적으로 JSON, XML, 바이너리, 텍스트 등의 형태로 전송됩니다.
🟢 프로듀서(Producer)
메시지를 생성하여 Exchange(교환기)로 전달하는 역할을 합니다.
🟢 익스체인지(Exchange)
메시지를 Queue(큐)로 라우팅하는 역할을 합니다. Exchange 유형에 따라 메시지를 다르게 전달합니다.
🟢 큐(Queue)
메시지를 저장하는 버퍼 역할을 합니다. 큐에 저장된 메시지는 컨슈머(Consumer)가 가져가 처리할 수 있습니다.
🟢 소비자(Consumer)
큐에서 메시지를 꺼내서 처리하는 역할을 합니다.
※ RabbitMQ의 작동 방식

🟠 Producer(생산자)가 메시지를 생성하여 Exchange(교환기)에 전송
🟠 Exchange(교환기)가 메시지를 적절한 Queue(큐)로 라우팅
🟠 Queue(큐)는 메시지를 저장하고, Consumer(소비자)가 메시지를 가져감
🟠 Consumer(소비자)는 메시지를 처리하고, 처리 완료되면 RabbitMQ에 확인(Ack, Acknowledgment) 신호를 보냄
※ RabbitMQ의 특징
🟠 메시지 내구성 (Durability) 지원
- 메시지가 손실되지 않도록 설정 가능
- 큐와 메시지를 영구적으로 저장할 수 있음 (durable=true, persistent=true)
🟠 확장성 (Scalability) 높음
- 다중 프로듀서-컨슈머 모델을 지원
- 여러 개의 RabbitMQ 노드를 클러스터링하여 확장 가능
🟠 다양한 프로토콜 지원
- 기본적으로 AMQP를 지원하지만,
MQTT, STOMP, HTTP 등 다양한 프로토콜과도 통신 가능
🟠 플러그인 시스템 지원
- 모니터링, 로깅, 인증 등 다양한 플러그인을 추가하여 기능 확장 가능
🖥️ 도커로 RabbitMQ 설치 및 실행하기
[도커(docker)] 도커로 RabbitMQ 설치 및 실행하기
[도커(docker)] 도커로 RabbitMQ 설치 및 실행하기docker run -d --hostname my-rabbit --name some-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3-management♣ 명령어 설명docker run새로운 컨테이너를 실행하는 명령어입니다.-d (De
happyldh.tistory.com
'프로그래밍 > 일반' 카테고리의 다른 글
사용 중인 포트 다시 사용할 때의 에러 메시지, 확인 방법, 종료 방법 완벽 정리 (0) | 2025.04.14 |
---|---|
와이어프레임(Wireframe)이란? (0) | 2025.02.25 |