Inhaltsverzeichnis:
Definition - Was bedeutet asynchrones Messaging?
Asynchrones Messaging ist eine Kommunikationsmethode, bei der das System eine Nachricht in eine Nachrichtenwarteschlange stellt und keine sofortige Antwort benötigt, um die Verarbeitung fortzusetzen. Beispiele hierfür sind Anfragen nach Informationen, Erklärungen oder Daten, die benötigt werden, aber nicht sofort benötigt werden.
Techopedia erklärt Asynchrones Messaging
Teilnehmer an asynchronem Messaging verlassen sich auf den Empfang der ursprünglichen Nachricht, auch wenn der vorgesehene Empfänger möglicherweise nicht im Büro ist oder auf andere Weise einfach nicht verfügbar ist. Ebenso kann der Empfänger antworten, ohne dass der Absender der Nachricht anwesend 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 die Skalierbarkeit. Eine kurze Nachricht kann mit einer sehr langen Antwort gesendet werden oder umgekehrt. Die Anforderung eines umfangreichen Textdokuments als Anhang unterstreicht die Vorteile der Skalierbarkeit noch weiter.
Asynchrones Messaging löst das Problem der intermittierenden Konnektivität. Wenn das empfangende Gerät ausfällt oder nicht verfügbar ist, verbleibt 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 ein anderes erforderliches Protokoll anzupassen, die Nachricht jedoch weiterhin erfolgreich an den Empfänger zuzustellen.
Zu den Nachteilen von asynchronem Messaging gehört die zusätzliche Komponente eines Nachrichtenbrokers oder eines Übertragungsagenten, um sicherzustellen, dass die Nachricht empfangen wird. Dies kann sowohl die Leistung als auch die Zuverlässigkeit beeinträchtigen. Ein offensichtlicherer Nachteil ist die Notwendigkeit, 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 Hauptanbieter über eigene Implementierungen, Schnittstellen und Verwaltungstools verfügt. Java EE-Systeme sind nicht interoperabel. Microsoft MSMQ (Microsoft Message Queuing) unterstützt kein Java EE.
Advanced Message Queuing Protocol (AMQP) ist eine aufstrebende Technologie, die das Standardisierungsproblem angeht. Implementierungen sind interoperabel. Es beinhaltet flexibles Routing und gängige Nachrichten-Paradigmen wie Publizieren / Abonnieren, Punkt-zu-Punkt, Anforderungs-Antwort und Fanout. Einige Java-Anwendungen verwenden auch AMQP.
