Advanced Message Queuing Protocol

De la Viquipèdia, l'enciclopèdia lliure
AMQP

TipusProtocol
Versió inicial
2003 Modifica el valor a Wikidata
Versió estable1.0 / 2003
LlicènciaOASIS
Característiques tècniques
Sistema operatiuMultiplataforma
Equip
Creador/sAMQP working group (OASIS)
Més informació
Lloc webwww.amqp.org
Stack ExchangeEtiqueta Modifica el valor a Wikidata

El protocol Advanced Message Queuing Protocol (amb acrònim anglès AMQP) és un protocol de capa d'aplicació estàndard obert per a programari intermedi orientat a missatges. Les característiques definitòries d'AMQP són l'orientació de missatges, la cua, l'encaminament (incloent-hi punt a punt i publicació i subscripció), fiabilitat i seguretat.[1]

AMQP imposa el comportament del proveïdor de missatgeria i del client en la mesura que les implementacions de diferents proveïdors siguin interoperables, de la mateixa manera que SMTP, HTTP, FTP, etc. han creat sistemes interoperables. Les estandarditzacions anteriors de middleware s'han produït a nivell d'API (per exemple JMS) i es van centrar a estandarditzar la interacció del programador amb diferents implementacions de middleware, en lloc de proporcionar interoperabilitat entre múltiples implementacions.[2] A diferència de JMS, que defineix una API i un conjunt de comportaments que ha de proporcionar una implementació de missatgeria, AMQP és un protocol a nivell de cable. Un protocol a nivell de cable és una descripció del format de les dades que s'envien a través de la xarxa com un flux de bytes. En conseqüència, qualsevol eina que pugui crear i interpretar missatges que s'ajustin a aquest format de dades pot interoperar amb qualsevol altra eina compatible, independentment del llenguatge d'implementació.

AMQP és un protocol binari de capa d'aplicació, dissenyat per donar suport eficientment a una gran varietat d'aplicacions de missatgeria i patrons de comunicació. Proporciona una comunicació controlada pel flux [3] orientada a missatges amb garanties de lliurament de missatges, com ara com a màxim una vegada (on cada missatge es lliura una vegada o mai), almenys una vegada (on és segur que cada missatge es lliurarà, però pot fer-ho diverses vegades) i exactament una vegada (on el missatge sempre arribarà i ho farà només una vegada),[4] i autenticació i/o xifratge basat en SASL i/o TLS.[5] Suposta un protocol de capa de transport fiable subjacent, com ara el protocol de control de transmissió (TCP).[6]

L'especificació AMQP es defineix en diverses capes: (i) un sistema de tipus, (ii) un protocol simètric i asíncron per a la transferència de missatges d'un procés a un altre, (iii) un format de missatge estàndard i extensible i (iv) un conjunt de "capacitats de missatgeria" estandarditzades però extensibles.

Implementacions:


Referències[modifica]

  1. O'Hara, J. ACM Queue, 5, 4, 2007, pàg. 48–55. DOI: 10.1145/1255421.1255424 [Consulta: free].
  2. Vinoski, S. IEEE Internet Computing, 10, 6, 2006, pàg. 87–89. DOI: 10.1109/MIC.2006.116.
  3. «OASIS AMQP version 1.0, sections 2.6.7-2.6.8» (en anglès). OASIS AMQP Technical Committee. [Consulta: 18 juny 2012].
  4. «OASIS AMQP version 1.0, sections 2.6.12-2.6.13» (en anglès). OASIS AMQP Technical Committee. [Consulta: 18 juny 2012].
  5. «OASIS AMQP version 1.0, section 5.1» (en anglès). OASIS AMQP Technical Committee. [Consulta: 18 juny 2012].
  6. «OASIS AMQP version 1.0, section 2.1» (en anglès). OASIS AMQP Technical Committee. [Consulta: 18 juny 2012].
  7. ShubhaVijayasarathy. «What is Azure Event Hubs? - a Big Data ingestion service» (en anglès). docs.microsoft.com. [Consulta: 21 maig 2019].
  8. axisc. «AMQP 1.0 in Azure Service Bus and Event Hubs protocol guide» (en anglès). docs.microsoft.com. [Consulta: 21 maig 2019].
  9. axisc. «Overview of AMQP 1.0 in Azure Service Bus» (en anglès). docs.microsoft.com. [Consulta: 21 maig 2019].
  10. «Solace PubSub+» (en anglès). solace.com.
  11. Qpid 0.22 - Apache Qpid™