Was ist ein Nachrichten-Broker?
Die Art und Weise der Kommunikation der Anwendungen wird zu einer immer größeren Herausforderung. Die Verwendung von Messaging-Middleware vereinfacht diese Herausforderung und ermöglicht eine gemeinsame Kommunikationsinfrastruktur, die wächst und skaliert, um die anspruchsvollsten Bedingungen zu erfüllen. Die Kommunikation kann jedoch in vielen verschiedenen Formen erfolgen, und die Art und Weise, wie die Messaging-Middleware die Kommunikation ermöglicht, ist nicht anders.
Eine Kommunikationsmethode, die von Messaging-Middleware verwendet wird, ist ein serverbasiertes Modell, das einen Nachrichten-Broker verwendet. Mit einem Nachrichten-Broker sendet die Quellanwendung (Hersteller) eine Nachricht an einen Serverprozess, der Daten-Marshalling, Routing, Nachrichtenübersetzung, Persistenz und Zustellung an alle geeigneten Ziele (Konsumenten) bereitstellen kann. Das entscheidende Merkmal eines Nachrichten-Brokers ist, dass der Broker selbst ein eigenständiger Service ist. Hersteller und Verbraucher kommunizieren mit dem Broker unter Verwendung von Standard- oder proprietären Protokollen. Der Nachrichten-Broker stellt in der Regel die gesamte staatliche Verwaltung und Verfolgung von Clients bereit, damit einzelne Anwendungen diese Verantwortung nicht übernehmen müssen und die Komplexität der Nachrichtenübermittlung in den Nachrichten-Broker selbst integriert ist.
Es gibt zwei grundlegende Formen der Kommunikation mit einem Nachrichten-Broker:
- Veröffentlichen und abonnieren (Themen)
- Punkt-zu-Punkt (Warteschlangen)

Messaging zum Veröffentlichen und Abonnieren
In einem Veröffentlichungs- und Abonnement-Nachrichtensystem senden die Hersteller Nachrichten zu einem Thema. In diesem Modell ist der Hersteller als Herausgeber und der Verbraucher ist als Abonnent bekannt. Ein Verlag oder mehrere können zum selben Thema veröffentlichen, und eine Nachricht von einem Verlag oder mehreren kann von vielen Abonnenten empfangen werden. Abonnenten abonnieren Themen und alle zum Thema veröffentlichten Nachrichten werden von allen Abonnenten zu diesem Thema empfangen. Dieses Modell ermöglicht eine einfache, interessenorientierte Bereitstellung basierend auf den Themen, die Anwendungen abonnieren.
Punkt-zu-Punkt-Kommunikation
Punkt-zu-Punkt-Kommunikation in ihrer einfachsten Form hat einen Hersteller und einen Konsumenten. Diese Art von Messaging verwendet normalerweise eine Warteschlange, um Nachrichten zu speichern, die vom Hersteller gesendet werden, bis sie vom Konsumenten empfangen werden. Der Nachrichtenhersteller sendet die Nachricht an die Warteschlange; der Nachrichtenkonsument ruft Nachrichten aus der Warteschlange ab und sendet eine Bestätigung, dass die Nachricht empfangen wurde. Mehr als ein Hersteller kann Nachrichten an dieselbe Warteschlange senden, und mehr als ein Verbraucher kann Nachrichten aus derselben Warteschlange abrufen. Wenn mehrere Verbraucher verwendet werden, erhält jeder Verbraucher in der Regel einen Teil des Nachrichtenstroms, um eine gleichzeitige Verarbeitung zu ermöglichen.
Serverbasierte Nachrichten-Broker
Serverbasierte Nachrichten-Broker haben viele Vorteile, unter anderem zentralisierte Verarbeitung, zentralisierte Nachrichtenverteilung und zentralisierte Datenpersistenz. Beispiele sind viele proprietäre Nachrichten-Broker, Java Message Service (JMS)-Implementierungen und Open-Source-Produkte wie Apache Kafka, Apache Pulsar und Eclipse Mosquitto.
In einigen Fällen ist ein dezentralisiertes Kommunikationsmodell erforderlich. Dieser „brokerlose“ oder Peer-to-Peer-Ansatz bietet in der Regel einen Mechanismus zur Unterstützung der direkten Kommunikation zwischen Anwendungen für Anwendungsfälle, bei denen eine sehr geringe Latenz erforderlich ist.