Asynchrones Messaging

Definition - Was bedeutet asynchrones Messaging?

Asynchrones Messaging ist ein Kommunikationsverfahren, bei dem das System eine Nachricht in eine Nachrichtenwarteschlange stellt und keine sofortige Antwort benötigt, um die Verarbeitung fortzusetzen. Beispiele hierfür sind eine Anforderung von Informationen, Erklärungen oder Daten, die benötigt werden, aber nicht sofort benötigt werden.

Dieser Begriff wird auch als Fire-and-Forget-Informationsaustausch oder Message-Oriented Middleware (MOM) bezeichnet.

Technische.me erklärt Asynchronous Messaging

Teilnehmer an asynchronem Messaging verlassen sich auf die erste empfangene Nachricht, obwohl der beabsichtigte Empfänger möglicherweise nicht im Büro ist oder auf andere Weise einfach nicht verfügbar ist. In ähnlicher Weise kann der Empfänger antworten, ohne dass der Absender der Nachricht vorhanden oder verfügbar ist. E-Mail ist wahrscheinlich das beste Beispiel für asynchrones Messaging, das weltweit verwendet wird.

Ein Hauptvorteil von asynchronem Messaging ist seine Skalierbarkeit. Eine kurze Nachricht kann mit einer sehr langen Antwort gesendet werden oder umgekehrt. Eine Anfrage nach einem umfangreichen Textdokument als Anhang würde die Vorteile der Skalierbarkeit noch weiter hervorheben.

Asynchrones Messaging löst das Problem der intermittierenden Konnektivität. Wenn das empfangende Gerät ausfällt oder nicht verfügbar ist, bleibt die Nachricht möglicherweise in einer Nachrichtenwarteschlange und wird zugestellt, sobald der Fehler behoben ist.

Ein asynchrones Nachrichtensystem mit integrierter Intelligenz kann den Inhalt und / oder das Format der Nachricht automatisch ändern, um sie an eine andere Softwareanwendung oder das erforderliche Protokoll anzupassen, die Nachricht jedoch weiterhin erfolgreich an den Empfänger übermitteln.

Zu den Nachteilen von asynchronem Messaging gehört die zusätzliche Komponente eines Nachrichtenbrokers oder Übertragungsagenten, um sicherzustellen, dass die Nachricht empfangen wird. Dies kann sowohl die Leistung als auch die Zuverlässigkeit beeinträchtigen. Ein offensichtlicherer Nachteil ist das Erfordernis, auf eine Antwort zu warten, was unpraktisch sein kann und sicherlich nicht mit der normalen Dialogkommunikation vereinbar ist.

Das Fehlen von Standards für asynchrones Messaging hat zu Problemen geführt, da jeder große Anbieter über eigene Implementierungen, Schnittstellen und Verwaltungstools verfügt. Java EE-Systeme sind nicht interoperabel. Microsoft MSMQ (Microsoft Message Queuing) unterstützt Java EE nicht.

Das Advanced Message Queuing Protocol (AMQP) ist eine aufstrebende Technologie, die sich mit dem Standardisierungsproblem befasst. Implementierungen sind interoperabel. Es umfasst flexibles Routing und allgemeine Nachrichtenparadigmen wie Veröffentlichen / Abonnieren, Punkt-zu-Punkt, Anforderungs-Antwort und Fanout. Einige Java-Anwendungen verwenden auch AMQP.