Basics Was ist AMQP und was macht man damit?

Von Sebastian Human Lesedauer: 3 min

Anbieter zum Thema

AMQP ist ein offen umgesetztes Netzwerkprotokoll. Das sogenannte Advanced Message Queuing Protocol dient dem Austausch von Nachrichten zwischen Anwendungen oder Organisationen. Anders als viele andere vergleichbare Entwicklungen stammt das Protokoll aus dem Finanzbereich.

Bei AMQP handelt es sich um ein offenes Protokoll zum Nachrichtenaustausch in Unternehmensumgebungen, das unter anderem für seine asynchrone Kommunikation bekannt ist.
Bei AMQP handelt es sich um ein offenes Protokoll zum Nachrichtenaustausch in Unternehmensumgebungen, das unter anderem für seine asynchrone Kommunikation bekannt ist.
(Bild: frei lizenziert / Pixabay)

Die Abkürzung AMQP steht für Advanced Message Queuing Protocol. Es handelt sich hierbei um einen offenen Standard für die Nachrichtenübertragung in verteilten Systemen. Das Netzwerkprotokoll ermöglicht es Anwendungen, Nachrichten in Warteschlangen zu speichern und auszutauschen.

So steigen Zuverlässigkeit und Skalierbarkeit der Anwendungen, da Nachrichten bei Ausfällen nicht verloren gehen. Es kann plattformunabhängig eingesetzt werden und unterstützt verschiedene Betriebssysteme und Programmiersprachen.

Wie hilft AMQP bei der Vernetzung von Geräten?

AMQP ermöglicht die Kommunikation zwischen Geräten, auch wenn sie nicht direkt verbunden sind. Das Protokoll kann Nachrichten in Warteschlangen speichern. Hierdurch können Geräte Nachrichten senden und empfangen, auch wenn sie zum Zeitpunkt der Übertragung nicht verfügbar sind. Besonders relevant ist das, wenn Devices in einer Umgebung mit schlechter Netzwerkverbindung oder anderweitig schwankender Verfügbarkeit laufen.

Das Advanced Message Queuing Protocol unterstützt auch die Mehrfachnutzung von Nachrichten. Hierdurch können Nachrichten an mehrere Geräte gleichzeitig gesendet werden. Sind mehrere Geräte an der gleichen Aktion interessiert, muss nicht jedes von ihnen die Nachricht einzeln empfangen und verarbeiten.

Die Spezifikationen zur aktuellen Version 1.0 des Protokolls, auch AMQP 1.0 genannt, stehen online zur Verfügung.

Wie sieht die AMQP-Architektur aus?

Im Wesentlichen teilt sich die AMQP-Architektur in drei Hauptkomponenten: Sender, Empfänger und Broker. Sie entspricht einer Client-Server-Architektur, in der Broker als Server und Sender beziehungsweise Empfänger als Clients agieren. Man spricht auch von einem Publish Subscribe Modell.

  • 1. Sender: Der Sender ist eine Anwendung, die Nachrichten an eine Warteschlange sendet.
  • 2. Empfänger: Beim Empfänger handelt es sich um eine Anwendung, die Nachrichten von einer Warteschlange empfängt.
  • 3. Broker: Der Broker dient als Server, der die Warteschlange verwaltet und Nachrichten zwischen Sender und Empfänger weiterleitet. Hierzu nutzt er verschiedene Exchange Types.

Der Broker verwaltet also die Warteschlangen, die zwischen Sender und Empfänger entstehen. Dabei können sich Sender und Empfänger entweder auf dieselbe Warteschlange beziehen, oder auf unterschiedliche Warteschlangen verweisen. Auch können mehrere Sender und Empfänger auf dieselbe Warteschlange verweisen und Nachrichten austauschen.

Ein Broker kann somit mehrere Warteschlangen und Verbindungen gleichzeitig managen und Nachrichten den zugedachten Empfängern weiterleiten. Broker können auch miteinander kommunizieren und Nachrichten untereinander austauschen.

Wie sicher ist AMQP?

Das Protokoll selbst bietet keine integrierte Security, die die Integrität und Vertraulichkeit von Nachrichten gewährleistet. Doch man kann auch AMQP-basierte Systeme schützen.

Hierzu kann man beispielsweise eine sichere Netzwerkverbindung, wie Secure Socket Layer (SSL) oder Transport Layer Security (TLS), zur verschlüsselten Datenübertragung nutzen.
Eine andere Möglichkeit ist die Verwendung von Mechanismen zur Authentifizierung und Autorisierung. So können ausschließlich berechtigte Benutzer auf die Warteschlangen und Nachrichten zugreifen.

Ebenfalls notwendig ist es, die AMQP-Implementierungen regelmäßigen Sicherheitsupdates zu unterziehen. Auf diese Weise kann die IT-Security bekannte Sicherheitslücken zeitnah schließen.

Das Advanced Message Queuing Protocol gilt somit als sicher, wenn es in Verbindung mit geeigneten Sicherheitsmechanismen eingesetzt und regelmäßig geupdatet wird.

Wie unterscheidet sich AMQP von MQTT?

AMQP vs MQTT: beides sind Protokolle für den Nachrichtenaustausch in verteilten Systemen. Doch sie weisen einige Unterschiede auf:

  • 1. Zweck: AMQP wurde ursprünglich entwickelt, um Nachrichten in Unternehmensumgebungen, speziell dem Finanzsektor, auszutauschen. MQTT wurde hingegen speziell für die Verwendung in drahtlosen und beschränkten Gerätenetzen entwickelt.
  • 2. Nachrichtenstruktur: AMQP verwendet eine komplexere Nachrichtenstruktur, die Metadaten und Routing-Informationen enthält. Dagegen nutzt MQTT eine einfachere Nachrichtenstruktur, die nur den Payload enthält.
  • 3. Übertragung: AMQP verwendet eine verbindungsorientierte Übertragung, während MQTT eine verbindungslose Übertragung verwendet.
  • 4. Bandbreitenbedarf: AMQP benötigt aufgrund der komplexeren Nachrichtenstruktur im Vergleich zu MQTT mehr Bandbreite.
  • 5. Skalierbarkeit: AMQP hat eine höhere Skalierbarkeit als MQTT, da es mehrere Warteschlangen und Verbindungen synchron verwalten kann.

Sowohl AMQP als auch MQTT sind leistungsfähige Protokolle für den Nachrichtenaustausch. Allerdings gilt ersteres als besser geeignet für Unternehmensumgebungen. MQTT hingegen entfaltet seine Stärken in drahtlosen und beschränkten Gerätenetzen.

(ID:49193848)

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung