Advanced Message Queuing Protocol

Advanced Message Queuing Protocol (AMQP)

Advanced Message Queuing Protocol (AMQP) to otwarty standard protokołu warstwy aplikacji, który jest używany w oprogramowaniu pośredniczącym skoncentrowanym na komunikatach. Główne cechy AMQP obejmują zorientowanie na komunikaty, kolejkowanie, trasowanie, niezawodność oraz bezpieczeństwo.

AMQP definiuje sposób działania zarówno usług, jak i klientów komunikacyjnych w taki sposób, że różne implementacje dostawców mogą współpracować ze sobą. Można to porównać do interoperacyjności, jaką zapewniają protokoły takie jak SMTP, HTTP czy FTP. W przeszłości standaryzacja oprogramowania pośredniczącego koncentrowała się głównie na poziomie API (np. Java Message Service), co oznacza, że skupiała się na ujednolicanie interakcji programisty z różnymi implementacjami, a nie na zapewnieniu interoperacyjności między nimi.

W odróżnieniu od JMS, które definiuje API oraz zestaw zachowań, jakie musi spełniać implementacja komunikacji, AMQP funkcjonuje jako protokół „poziomu kabla”. Termin ten odnosi się do formatu danych, który jest przesyłany w sieci jako strumień bajtów. W rezultacie każde narzędzie zdolne do tworzenia i interpretacji komunikatów zgodnych z tym formatem może współdziałać z innym narzędziem, które również jest zgodne, niezależnie od języka programowania, w którym zostało zaimplementowane.