Advanced Message Queuing Protocol
Das Advanced Message Queuing Protocol (AMQP) ist ein offener Standard und stellt ein binäres Netzwerkprotokoll auf Anwendungsebene für eine Message orientierte Middleware (MOM) dar.[1]
Bisher wurde Messaging immer mit einer Programmierschnittstelle (API) für eine bestimmte Programmiersprache gelöst (z. B. JMS).
AMQP stellt ein binäres Netzwerkprotokoll dar, das unabhängig von der Programmiersprache ist. Um der großen Verbreitung von JMS Rechnung zu tragen, sind alle Funktionen von JMS in dem Protokoll eingearbeitet worden. Dies ermöglicht es den Entwicklern, weiter die JMS Schnittstelle zu nutzen, während sich MOMs untereinander mit AMQP verständigen können.
Entstehung
AMQP wurde durch ein Konsortium kreiert, das sich aus Finanzinstitutionen und Softwaredienstleistern zusammensetzt. Dazu zählen Bank of America, JPMorgan Chase, Barclays Bank, Goldman Sachs, Credit Suisse, Deutsche Börse und Red Hat, VMware, Microsoft, INETCO - Systems, IONA Technologies, Cisco Systems und andere.[2] Im Juni 2006 wurde hierzu eine Arbeitsgruppe gegründet[3] und im Mai 2010 wurde der Draft (Entwurf) der Version 1 veröffentlicht.
Unterstützung
AMQP ist lediglich ein Protokoll zur Kommunikation zwischen Client und Message-Broker bzw. zwischen verschiedenen Message-Brokern. Hier einige Anbieter bzw. Message-Broker, die AMQP unterstützen.
AMQP 1.0 Broker Implementierungen
- SwiftMQ, ein JMS, AMQP 1.0 und AMQP 0.9.1 Broker (frei und kommerziell) und freier AMQP 1.0 Client.
- Microsoft Windows Azure Service Bus, Microsoft's cloud based messaging service
- Apache Qpid, ein Open Source-Projekt der Apache Software Foundation.
- RabbitMQ, eine in der Programmiersprache Erlang durchgeführte Implementierung von VMware in 2010.
- Red Hat Enterprise MRG, basiert auf Apache Qpid.
Client Unterstützung
- SwiftMQ AMQP 1.0 Java Client ein freier Java Client für AMQP 1.0.
- DE.SETF.AMQP, ein Common Lisp Client Library für AMQP 0-9-1.
Für das Spring-Framework existiert mit Spring AMQP ebenfalls Unterstützung für AMQP 0-9-1.
Verweise
- ↑ Definition AMQP. AMQP. Abgerufen am 16. Februar 2015.
- ↑ http://amqp.org/video
- ↑ Vinoski, S.: Advanced Message Queuing Protocol. In: Ieee Internet Computing. 10. Jahrgang, Nr. 6, 2006, S. 87–89, doi:10.1109/MIC.2006.116 (vinoski.net [PDF]).
Weblinks
- AMQP Website
- AMQP Spezifikation (PDF, 726 kB)
- OASIS AMQP technical committee
- High-level Overview of AMQP and the AMQP Model (version 0-9-1)
- OMG Analysis of AMQP and comparison with DDS-RTPS (PDF, 244 kB)
- Google Tech Talk, with video and slides, about RabbitMQ
- Presentation of AMQP and RestMS messaging at FOSDEM 2009
- List of AMQP clients
- RabbitMQ (VMware)
- Spring AMQP