구축 & 운영/RabbitMQ

RabbitMQ 조사

단칸이 2022. 3. 8. 17:43

RabbitMQ

메시지가 생성되면 Exchange에 전송되며, 여기에서 어떤 Queue에게 라우팅 할 것인지 결정하게 됩니다.

구분 설명
Direct Exchange 메시지의 Routing Key와 정확히 일치하는 Queue로 라우팅
Topic Exchange 특정 라우팅 패턴과 일치하는 Queue로 라우팅
Fanout Exchange 바인딩 된 모든 Queue에 메시지를 라우팅

  • ① : 메시지 생산자로부터 메시지를 수신합니다.
  • ② : 메시지를 Exchange에 전송합니다. 
  • ③ : 메시지를 적절한 Queue로 라우팅 합니다.
  • ④ : 메시지가 소비되기 전까지 Queue에 대기합니다.
  • ⑤ : 메시지가 소비되면 Queue에서 해당 메시지를 삭제합니다
구분 설명
최초 배포일 2007. 02. 08
라이선스 Mozilla Public License
개발 언어 Erlang
클라이언트 지원 언어 C, C++, .NET, Java, JavaScript, Node.js, Mobile (Objective-C, Swift, Android), Spring Framework, Ruby, Python, PHP, Rust, ...
지원 프로토콜 - AMQP : 메시지 브로커의 기본 프로토콜
- STOMP : 텍스트 기반 메시징 프로토콜
- MQTT : 메시지 게시 / 구독에 사용되는 프로토콜
- HTTP 및 웹 소켓
특징 - AMQP 프로토콜을 기반으로 구현된 프로젝트

- 브로커 중심적이며, 생산자와 소비자 간의 메시지 전달을 보장하는 것에 초점
- 브로커가 메시지의 전달 상태 확인 가능 (Kafka는 메시지 소비자가 전달 상태를 기억해야 함)
- 최소 한 번의 메시지 전송 보장

- 초당 20,000개 정도의 메시지 처리 가능
- 모니터링 및 관리를 위한 웹 페이지가 있어 타 프로젝트 대비 운영이 용이하다는 의견
선택이 유리한 경우 - 메시지의 전달 우선순위가 있는 경우

 

 

 

'구축 & 운영 > RabbitMQ' 카테고리의 다른 글

Web STOMP 플러그인 설치  (0) 2022.03.19
RabbitMQ 설치  (0) 2022.03.19
메시지 브로커 비교 (Apache Kafks vs RabbitMQ vs ActiveMQ)  (0) 2022.03.08
ActiveMQ 조사  (0) 2022.03.08
Apache Kafka 조사  (0) 2022.03.08