RabbitMQ - RabbitMQ - Wikipedia
![]() | tento článek se mohou příliš spoléhat na zdroje příliš úzce souvisí s tématem, což potenciálně brání tomu, aby článek byl ověřitelný a neutrální.Květen 2019) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) ( |
![]() | |
Vývojáři | Klíčový software |
---|---|
Stabilní uvolnění | 3.8.8 / 3. září 2020 |
Úložiště | github |
Napsáno | Erlang |
Operační systém | Cross-platform |
Typ | AMQP, middleware orientovaný na zprávy |
Licence | Veřejná licence Mozilla |
webová stránka | www |
RabbitMQ je open-source zprostředkovatel zpráv software (někdy nazývaný middleware orientovaný na zprávy ), který původně implementoval Pokročilý protokol front (AMQP) a od té doby byla rozšířena o a plug-in architektura podporovat Protokol pro zasílání textových zpráv (DUPAT), Telemetrický přenos MQ (MQTT) a další protokoly.[1]
Program serveru RabbitMQ je napsán v Erlang programovací jazyk a je postaven na Otevřená telekomunikační platforma rámec pro shlukování a převzetí služeb při selhání. Klientské knihovny pro rozhraní s makléřem jsou k dispozici pro všechny hlavní programovací jazyky.
Dějiny
Rabbit Technologies Ltd. původně vyvinula RabbitMQ. Rabbit Technologies začala jako společný podnik mezi LShift a CohesiveFT v roce 2007,[2] a byla získána v dubnu 2010 společností SpringSource, divize VMware.[3] Projekt se stal součástí Klíčový software v květnu 2013.[4]
Zdrojový kód je uvolněn pod Veřejná licence Mozilla Projekt se skládá z:
- Samotný výměnný server RabbitMQ
- Brány pro AMQP, HTTP, DUPAT, a MQTT protokoly
- AMQP klientské knihovny pro Jáva, .NET Framework, a Erlang. (Klienti AMQP pro jiné jazyky jsou k dispozici u jiných dodavatelů.)
- Platforma modulu plug-in pro vlastní doplňky s předem definovanou kolekcí podporovaných modulů plug-in, včetně:
- Plug-in „Shovel“, který se stará o přesun nebo kopírování (replikace) zpráv od jednoho brokera k druhému.
- Doplněk „Federace“, který umožňuje efektivní sdílení zpráv mezi makléři (na úrovni výměny).
- Plug-in „Management“, který umožňuje monitorování a kontrolu makléřů a klastrů makléřů.
Příklady
Tato část obsahuje ukázkové programy napsané v Krajta (za použití pika balíček) pro odesílání a přijímání zpráv pomocí fronty.
Odesílá se
Následující fragment kódu naváže připojení, ujistí se, že fronta příjemců existuje, poté odešle zprávu a nakonec uzavře připojení.
#! / usr / bin / env python3import pikaspojení = pika.Blokovací připojení(pika.ConnectionParameters(hostitel="localhost"))kanál = spojení.kanál()kanál.queue_declare(fronta="Ahoj")kanál.basic_publish(výměna="", směrovací_klíč="Ahoj", tělo="Ahoj světe!")tisk(„[x] Odesláno„ Hello World! ““)spojení.zavřít()
Příjem
Podobně následující program přijímá zprávy z fronty a tiskne je na obrazovku: (Poznámka: Tento příklad nikoli potvrdit přijetí zprávy.)
#! / usr / bin / env python3import pikaspojení = pika.BlockingConnection(pika.ConnectionParameters(hostitel="localhost"))kanál = spojení.kanál()kanál.queue_declare(fronta="Ahoj")tisk(„[*] Čekání na zprávy. Pro ukončení stiskněte Ctrl + C“)def zpětné volání(ch, metoda, vlastnosti, tělo): tisk(„[x] Přijato % r" % tělo)kanál.basic_consume(fronta="Ahoj", on_message_callback=zpětné volání)kanál.start_consuming()
Viz také
Reference
- ^ Které protokoly podporuje RabbitMQ?
- ^ „Spuštění podnikového zasílání zpráv RabbitMQ s otevřeným zdrojem“ (PDF). tisková zpráva. 8. února 2007. Citováno 23. října 2013.
- ^ „Rabbit Technologies ohlašuje akvizici společností SpringSource“. tisková zpráva. 13. dubna 2010. Archivovány od originál 18. dubna 2010. Citováno 3. října 2013.
- ^ "Hrdě součástí Pivotal". tisková zpráva. 14. května 2010. Archivováno od originál 2. června 2013. Citováno 3. října 2013.
Další čtení
- Joern Barthel (2009-09-13). „Začínáme s AMQP a RabbitMQ“. InfoQ.
- Peter Cooper (09.04.2009). „RabbitMQ - rychlá a spolehlivá možnost řazení do fronty pro rubíny“. RubyInside.
- RabbitMQ: Zprostředkovatel zpráv s otevřeným zdrojovým kódem, který právě funguje. Google Tech Talks. 2008-09-25.