Rabbit MQ
RabbitMQ![]() | |
개발자 | Pivotal 소프트웨어 |
---|---|
안정된 릴리스 | 3.10.7 / 2022년 8월 , 전( |
저장소 | github |
기입처 | 얼랑 |
운영 체제 | 크로스 플랫폼 |
유형 | AMQP, 메시지 지향 미들웨어 |
면허증. | Mozilla Public License(모질라 퍼블릭 라이선스) |
웹 사이트 | www |
RabbitMQ는 오픈 소스 메시지 브로커 소프트웨어(메시지 지향 미들웨어라고도 함)로, 원래는 AMQP(Advanced Message Queuing Protocol)를 구현했으며 이후 플러그인 아키텍처로 확장되어 스트리밍 텍스트 지향 메시징 프로토콜(STOP), MQ 텔레메트리 전송(MQTT)[1] 및 기타 프로토콜을 지원합니다.
토끼 얼랑어로 쓴 것MQ 서버는 클러스터링 및 페일오버를 위해 Open Telecom Platform 프레임워크에 구축되어 있습니다.브로커와 인터페이스하기 위한 클라이언트 라이브러리는 모든 주요 프로그래밍 언어에 사용할 수 있습니다.소스 코드는 Mozilla Public License에 따라 릴리스됩니다.
역사
원래 LShift와 Cooseive의 합작으로 시작된 Rabbit Technologies Ltd.에 의해 개발되었습니다.2007년 [2]FT, 래빗MQ는 2010년 4월에 VMware의 [3]부문인 Spring Source에 인수되었습니다.이 프로젝트는 2013년 [4]5월에 Pivotal Software의 일부가 되었습니다.
프로젝트의 구성은 다음과 같습니다.
- 토끼MQ 교환 서버
- AMQP, HTTP, STOMP 및 MQ용 게이트웨이TT 프로토콜
- Java용 AMQP 클라이언트라이브러리,NET Framework 및 Erlang. (기타 언어용 AMQP 클라이언트는 다른 벤더가 제공합니다.)
- 다음과 같은 지원되는 플러그인 컬렉션이 미리 정의된 플러그인 플랫폼입니다.
- 브로커 간에 메시지 이동 또는 복사(복제)를 처리하는 "Shovel" 플러그인입니다.
- (Exchange 수준에서) 브로커 간에 메시지를 효율적으로 공유할 수 있는 "연방" 플러그인입니다.
- 브로커와 브로커의 클러스터를 감시 및 제어할 수 있는 "관리" 플러그인입니다.
예
이 섹션에서는 큐를 사용하여 메시지를 송수신하기 위해 Python(pika 패키지 사용)으로 작성된 샘플 프로그램에 대해 설명합니다.
보내기
다음 코드 프래그먼트는 연결을 확립하고 수신자 큐가 존재하는지 확인한 후 메시지를 발송하고 마지막으로 연결을 닫습니다.
#!/usr/bin/env python3 수입품 피카 연결 = 피카.블로킹 접속(피카.접속 파라미터(주인="로컬 호스트")) 채널. = 연결.채널.() 채널..queue_module(큐잉="안녕하세요") 채널..basic_basic(교환하다="", routing_key="안녕하세요", 몸='헬로 월드') 인쇄물("[x] 'Hello World!'를 보냈습니다.") 연결.가까운.()
받는
마찬가지로 다음 프로그램은 큐에서 메시지를 수신하여 화면에 출력합니다(주의:이 예에서는 메시지 수신을 확인하지 않습니다).
#!/usr/bin/env python3 수입품 피카 방어하다 콜백(챠, 방법, 특성., 몸): 인쇄물(" [x] 수신필%r" % 몸) 연결 = 피카.블로킹 접속(피카.접속 파라미터(주인="로컬 호스트")) 채널. = 연결.채널.() 채널..queue_module(큐잉="안녕하세요") 인쇄물(" [*] 메시지를 기다리고 있습니다.종료하려면 Ctrl+C"를 누릅니다.) 채널..basic_basic(큐잉="안녕하세요", on_message_callback=콜백) 채널..start_소비()
「 」를 참조해 주세요.
레퍼런스
- ^ Rabbit은 어떤 프로토콜을 사용합니까?MQ 지원?
- ^ "Launch of RabbitMQ Open Source Enterprise Messaging" (PDF). Press release. February 8, 2007. Retrieved October 23, 2013.
- ^ "Rabbit Technologies announce acquisition by SpringSource". Press release. April 13, 2010. Archived from the original on April 18, 2010. Retrieved October 3, 2013.
- ^ "Proudly part of Pivotal". Press release. May 14, 2010. Archived from the original on June 2, 2013. Retrieved October 3, 2013.
추가 정보
- Joern Barthel (2009-09-13). "Getting started with AMQP and RabbitMQ". InfoQ.
- Peter Cooper (2009-04-09). "RabbitMQ - A Fast, Reliable Queuing Option for Rubyists". RubyInside.
- RabbitMQ: An Open Source Messaging Broker That Just Works. Google Tech Talks. 2008-09-25.