Advanced Message Queuing Protocol
The Advanced Message Queuing Protocol ( AMQP ) is an open standard that represents a binary network protocol at the application level for message-oriented middleware (MOM).
AMQP is a binary network protocol that is independent of the programming language. In order to take into account the widespread use of JMS , all functions of JMS have been incorporated into the protocol. This enables developers to continue to use the JMS interface, while MOMs can communicate with one another using AMQP.
Emergence
AMQP was invented in 2003 by John O'Hara, an employee of JPMorgan Chase in London . The further development of AMQP was created by a consortium made up of financial institutions and software service providers. These include Bank of America , JPMorgan Chase , Barclays Bank , Goldman Sachs , Credit Suisse , Deutsche Börse and Red Hat , VMware , Microsoft , INETCO - Systems , IONA Technologies , Cisco Systems and others. A working group was founded in June 2006 and the draft version 1 was published in May 2010.
support
AMQP is just a protocol for communication between client and message broker or between different message brokers. Here are some providers or message brokers that support AMQP.
AMQP 1.0 broker implementations
- SwiftMQ , a JMS , AMQP 1.0 and AMQP 0.9.1 broker and AMQP 1.0 client (all open source, Apache 2 license).
- Microsoft Windows Azure Service Bus , Microsoft's cloud-based messaging service
- Apache Qpid , an open source project from the Apache Software Foundation .
- RabbitMQ , an implementation by VMware in the Erlang programming language in 2010.
- Apache ActiveMQ , has an AMQP 1.0 compatible transport connector , see also Apache_ActiveMQ
- Apache Artemis is based on HornetQ and is considered to be significantly more powerful than ActiveMQ
- RedHat JBoss AMQ , version 6 is based on Apache Active MQ, version 7 is based on Apache Artemis
Client support
- SwiftMQ AMQP 1.0 Java Client a free Java client for AMQP 1.0.
- DE.SETF.AMQP , a Common Lisp Client Library for AMQP 0-9-1.
For the Spring framework, there is also support for AMQP 0-9-1 with Spring AMQP .
Norms and standards
- OASIS, AMQP Version 1.0 on October 31, 2012.
- ISO / IEC 19464: 2014-05 Information technology - Advanced Message Queuing Protocol (AMQP) v1.0 specification
- CAN / CSA-ISO / IEC 19464: 2018-01-01 Information technology - Advanced Message Queuing Protocol (AMQP) v1.0 specification (Adopted ISO / IEC 19464: 2014, first edition, 2014-05-01)
Web links
- AMQP website
- AMQP specification (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
Individual evidence
- ↑ Definition of AMQP . AMQP . Retrieved February 16, 2015.
- ^ Pieter Hintjens: Background to the AMQ Project, Authors. iMatix Corporation, February 7, 2006, accessed February 18, 2018 .
- ↑ https://www.amqp.org/video
- ↑ Vinoski, S .: Advanced Message Queuing Protocol . In: Ieee Internet Computing . 10, No. 6, 2006, pp. 87-89. doi : 10.1109 / MIC.2006.116 .