Was ist ein Message Broker?

11. Oktober 2021

Was ist ein Message Broker?

Ein Nachrichtenbroker ist eine Software, die es Anwendungen, Systemen und Diensten ermöglicht, miteinander zu kommunizieren und Informationen auszutauschen – selbst wenn sie in unterschiedlichen Sprachen geschrieben oder auf unterschiedlichen Plattformen implementiert wurden –, indem sie Nachrichten zwischen formalen Messaging-Protokollen übersetzt.

Nachrichtenbroker sind Softwaremodule innerhalb von Messaging-Middleware- oder Message-Oriented-Middleware-Lösungen (MOM). Diese Middleware bietet Entwicklern ein standardisiertes Mittel zur Bearbeitung des Datenflusses zwischen den Komponenten einer Anwendung, sodass sie sich auf die eigentliche Logik der Anwendung konzentrieren können. Sie dient als verteilte Kommunikationsschicht, die die interne Kommunikation zwischen Anwendungen auf verschiedenen Plattformen ermöglicht.

Nachrichtenbroker können Nachrichten validieren, speichern, weiterleiten und an die entsprechenden Ziele zustellen. Sie vermitteln zwischen anderen Anwendungen und ermöglichen es den Absendern, Nachrichten zu versenden, ohne zu wissen, wo sich die Empfänger befinden, ob sie aktiv sind oder nicht, oder wie viele es sind. Dies erleichtert die Entkopplung von Prozessen und Services innerhalb von Systemen.

Damit Nachrichten sicher gespeichert und garantiert übermittelt werden, verlassen sich Nachrichtenbroker oft auf eine Unterstruktur oder Komponente, die als Nachrichtenwarteschlange bezeichnet wird. Sie speichert und sortiert die Nachrichten, bis die nutzenden Anwendungen sie verarbeiten können. In einer Nachrichtenwarteschlange werden Nachrichten in der exakten Reihenfolge gespeichert, in der sie übertragen wurden, und bleiben in der Warteschlange, bis der Empfang bestätigt wird.

Asynchrones Messaging bezieht sich auf die Art der anwendungsübergreifenden Kommunikation, die durch Nachrichtenbroker ermöglicht wird. Dadurch wird der Verlust wertvoller Daten verhindert und die Funktionsfähigkeit von Systemen sichergestellt, selbst wenn in öffentlichen Netzwerken häufig Verbindungsprobleme oder Latenzen auftreten. Durch asynchrones Messaging wird garantiert, dass Nachrichten genau einmal in der richtigen Reihenfolge im Verhältnis zu anderen Nachrichten zugestellt werden.

Nachrichtenbroker umfassen Warteschlangenmanager, die die Interaktionen zwischen mehreren Nachrichtenwarteschlangen verwalten, sowie Dienste, die Funktionen für das Datenrouting, die Nachrichtenübersetzung, die Persistenz und die Verwaltung des Client-Status bereitstellen.

Luftaufnahme einer Autobahn

Bleiben Sie in der Cloud

Abonnieren Sie den wöchentlichen Think-Newsletter und erhalten Sie Tipps von Experten zur Optimierung von Multi-Cloud-Einstellungen in Zeiten von KI.

Nachrichtenbroker-Modelle

Nachrichtenbroker bieten zwei grundlegende Nachrichtenverteilungsmuster bzw. Nachrichtenstile:

Punkt-zu-Punkt-Messaging: Das ist das Muster, das in Nachrichtenwarteschlangen mit einer Eins-zu-Eins-Beziehung zwischen Sender und Empfänger der Nachricht verwendet wird. Jede Nachricht in der Warteschlange wird nur an einen Empfänger gesendet und nur einmal bearbeitet. Punkt-zu-Punkt-Messaging erfolgt, wenn eine Nachricht nur ein einziges Mal bearbeitet werden muss. Beispielsweise ist diese Form der Nachrichtenübermittlung bei Lohn- und Gehaltsabrechnung und die Abwicklung von Finanztransaktionen relevant. Bei diesen Systemen ist sowohl für die Absender als auch für die Empfänger garantiert, dass jede Zahlung nur ein einziges Mal gesendet wird.

Publish-Subscribe-Messaging: Bei diesem Nachrichtenverteilungsmuster, das oft als „Pub/Sub“ bezeichnet wird, wird jede Nachricht vom Produzenten in einem Topic veröffentlicht, und mehrere Empfänger abonnieren die Topics, von denen sie Nachrichten erhalten möchten. Alle zu einem Thema veröffentlichten Nachrichten werden an alle Anwendungen verteilt, die dieses Thema abonniert haben. Diese Methode der Verteilung ist eine Art Rundfunk, bei der eine Eins-zu-Viele-Beziehung zwischen dem Sender und dem Empfänger der Nachricht besteht. Wenn zum Beispiel eine Fluggesellschaft aktuelle Informationen über die Landezeiten oder den Verspätungsstatus ihrer Flüge bekannt gibt, könnten mehrere Parteien diese Informationen nutzen: Bodenpersonal, das das Flugzeug wartet und betankt, Gepäckabfertiger, Flugbegleiter und Piloten, die sich auf den nächsten Flug vorbereiten, und die Mitarbeiter, die über die Bildschirme Reisende informieren. Das wäre ein Anwendungsfall für Pub-/Sub-Messaging.

AI Academy

KI-Bereitschaft mit Hybrid Cloud

Das Programm, das von führenden IBM Experten geleitet wird, soll Führungskräften dabei helfen, das nötige Wissen zu erwerben, um die Prioritäten für KI-Investitionen zu setzen, die zu mehr Wachstum führen.

Nachrichtenbroker in Cloudarchitekturen

Cloudnative Anwendungen wurden entwickelt, um die inhärenten Vorteile des Cloud Computing zu nutzen, einschließlich Flexibilität, Skalierbarkeit und schneller Bereitstellung. Diese Anwendungen bestehen aus kleinen, einzelnen, wiederverwendbaren Komponenten, die als Microservices bezeichnet werden. Jeder Microservice wird bereitgestellt und kann unabhängig von den anderen ausgeführt werden. Somit kann jeder einzelne von ihnen aktualisiert, skaliert oder neu gestartet werden, ohne dass andere Dienste im System beeinträchtigt werden. Oft in Containern enthalten, arbeiten Microservices zusammen, um eine ganze Anwendung zu bilden, obwohl jede ihren eigenen Stack hat, einschließlich einer Datenbank und eines Datenmodells, die sich von den anderen unterscheiden können.

Microservices müssen miteinander kommunizieren können, um zusammenarbeiten zu können. Nachrichtenbroker stellen einen Weg dar, dieses gemeinsame Kommunikationsgerüst zu schaffen.

Nachrichtenbroker werden häufig zur Verwaltung der Kommunikation zwischen On-Premises-Systemen und Cloud-Komponenten in hybriden Cloud-Umgebungen eingesetzt. Die Verwendung eines Nachrichtenbrokers ermöglicht eine bessere Kontrolle über die dienstübergreifende Kommunikation und stellt sicher, dass die Daten sicher, zuverlässig und effizient zwischen den Komponenten einer Anwendung übertragen werden. Nachrichtenbroker können eine ähnliche Rolle bei der Integration von Multicloud-Umgebungen spielen, indem sie die Kommunikation zwischen Workloads und Laufzeiten auf verschiedenen Plattformen ermöglichen. Sie eignen sich auch gut für den Einsatz im Serverless Computing, bei dem einzelne in der Cloud gehostete Dienste nach Bedarf und auf Anfrage laufen.

Nachrichtenbroker im Vergleich zu APIs

REST-APIs werden häufig für die Kommunikation zwischen Microservices verwendet. Der Begriff Representational State Transfer (REST) umfasst eine Reihe von Grundsätzen und Einschränkungen, die Entwickler bei der Erstellung von Webdiensten beachten können. Sämtliche Dienste, die sich an diese Regeln halten, können über eine Reihe einheitlicher gemeinsamer statusfreier Operatoren und Anfragen kommunizieren. Programmierschnittstelle (API) bezeichnet den zugrunde liegenden Code, über den die Dienste miteinander kommunizieren, wenn er den REST-Regeln entspricht.

REST-APIs verwenden das Hypertext Transfer Protocol (HTTP) zur Kommunikation. Da HTTP das Standard-Transportprotokoll des öffentlichen Internets ist, sind REST-APIs weithin bekannt, werden vielfach verwendet und sind weitgehend kompatibel. HTTP ist jedoch ein Anforderungs-/Antwortprotokoll und eignet sich daher am besten für Aktionen, die eine synchrone Anforderung/Antwort erfordern. Das bedeutet, dass Services, die Anfragen über REST-APIs stellen, so konzipiert sein müssen, dass sie eine sofortige Antwort erwarten. Wenn der Client, der die Antwort empfängt, ausgefallen ist, wird der sendende Dienst blockiert, während er auf die Antwort wartet. Failover- und Fehlerbehandlungslogik sollten in beide Dienste eingebaut werden.

Nachrichtenbroker ermöglichen die asynchrone Kommunikation zwischen Diensten, sodass der sendende Dienst nicht auf die Antwort des empfangenden Dienstes warten muss. Das verbessert die Fehlertoleranz und Resilienz der Systeme, in denen sie eingesetzt werden. Darüber hinaus erleichtert die Verwendung von Nachrichtenbrokern die Skalierung von Systemen, da ein Pub/Sub-Messaging-Muster eine wechselnde Anzahl von Diensten problemlos unterstützen kann. Nachrichtenbroker erfassen auch den Zustand der Verbraucher.

Nachrichtenbroker im Vergleich zu Event-Streaming-Plattformen

Während Nachrichtenbroker zwei oder mehr Messagingmuster unterstützen können, einschließlich Nachrichtenwarteschlangen und Pub/Sub, gibt es Event-Streaming-Plattformen nur mit Pub/Sub-Verteilungsmuster. Event-Streaming-Plattformen wurden für den Einsatz mit großen Nachrichtenmengen entwickelt und sind leicht skalierbar. Sie können Datensätze in als Themen bezeichnete Kategorien ordnen und sie für einen vorher festgelegten Zeitraum speichern. Im Gegensatz zu Nachrichtenbrokern können Event-Streaming-Plattformen jedoch die Nachrichtenübermittlung nicht garantieren oder nachverfolgen, welche Konsumenten Nachrichten empfangen haben.

Event-Streaming-Plattformen bieten mehr Skalierbarkeit als Nachrichtenbroker, aber weniger Funktionen, die eine Fehlertoleranz gewährleisten (wie das erneute Senden von Nachrichten), sowie eingeschränkte Funktionen zum Routing und Warteschlangen von Nachrichten.

Erfahren Sie mehr über ereignisgesteuerte Architektur.

Nachrichtenbroker im Vergleich zu ESB (Enterprise Service Bus)

Ein Enterprise Service Bus (ESB) ist ein Architekturmuster, das manchmal in unternehmensweit implementierten serviceorientierten Architekturen (SOAs) verwendet wird. In einem ESB kombiniert eine zentralisierte Softwareplattform Kommunikationsprotokolle und Datenformate zu einer „gemeinsamen Sprache“, die alle Dienste und Anwendungen in der Architektur gemeinsam nutzen können. Es könnte beispielsweise die empfangenen Anfragen von einem Protokoll (wie XML) in ein anderes (wie JSON) übersetzen. ESBs transformieren ihre Nachrichtennutzlasten mithilfe eines automatisierten Prozesses. Die zentralisierte Softwareplattform übernimmt auch andere Steuerungslogiken wie Konnektivität, Routing und Anforderungsverarbeitung.

ESB-Infrastrukturen sind jedoch komplex und können schwierig zu integrieren sowie teuer in der Wartung sein. Es ist schwierig, sie zu beheben, wenn in Produktionsumgebungen Probleme auftreten, sie sind nicht einfach zu skalieren, und die Aktualisierung ist mühsam.

Nachrichtenbroker sind eine „leichte“ Alternative zu ESBs, die eine ähnliche Funktionalität – einen Mechanismus für die Kommunikation zwischen Services – einfacher und kostengünstiger bieten. Sie eignen sich gut für den Einsatz in Microservices-Architekturen, die sich immer mehr durchsetzen, da ESBs in Ungnade gefallen sind.

Anwendungsfälle für Nachrichtenbroker

Die Implementierung von Nachrichtenbrokern kann eine Vielzahl von Geschäftsanforderungen in verschiedenen Branchen und in verschiedenen Enterprise-Computing-Umgebungen erfüllen. Sie sind immer dann nützlich, wenn eine zuverlässige Kommunikation zwischen Anwendungen und eine zuverlässige Nachrichtenübermittlung erforderlich sind.

Nachrichtenbroker werden häufig auf folgende Weise eingesetzt:

  • Finanzielle Transaktionen und Zahlungsverarbeitung: Es ist von entscheidender Bedeutung, dass die Zahlungen nur ein einziges Mal getätigt werden. Die Verwendung eines Nachrichtenbrokers für die Abwicklung dieser Transaktionen bietet die Sicherheit, dass Zahlungsinformationen weder verloren gehen noch versehentlich dupliziert werden, ermöglicht einen Empfangsnachweis und sorgt dafür, dass die Systeme auch dann zuverlässig kommunizieren können, wenn die zwischengeschalteten Netze ausfallen.

  • Auftragsbearbeitung und -abwicklung im E-Commerce: Wenn Sie im Online-Geschäft tätig sind, hängt die Stärke des Rufs Ihrer Marke von der Zuverlässigkeit Ihrer Website und Ihrer E-Commerce-Plattform ab. Die Fähigkeit von Nachrichtenbrokern, die Fehlertoleranz zu erhöhen und zu garantieren, dass Nachrichten nur einmal und nur einmal konsumiert werden, macht sie ideal für die Verarbeitung von Online-Bestellungen.

  • Schutz hochsensibler Daten im Speicher und bei der Übertragung: Falls Ihre Branche streng reguliert ist oder Ihr Unternehmen mit erheblichen Sicherheitsrisiken konfrontiert ist, sollten Sie sich für eine Messaging-Lösung mit End-to-End-Verschlüsselungsfunktionen entscheiden.
Weiterführende Lösungen
IBM MQ

Aktivieren Sie eine leistungsstarke, sichere und zuverlässige Messaging-Lösung für Ihr Unternehmen.

Erkunden Sie IBM MQ
Cloud-Beratungsleistungen

Beschleunigen Sie die Agilität und das Wachstum Ihres Unternehmens und modernisieren Sie ständig Ihre Anwendungen auf jeder Plattform mit Hilfe unserer Cloud-Services und Beratung. 

Erkunden Sie Cloud-Beratungsleistungen
IBM Integrationssoftware und -lösungen

Verbinden, automatisieren und erschließen Sie Geschäftspotenziale mit Software für Integrationsplattformen.

 

Erkunden Sie Integrationssoftware und -lösungen
Machen Sie den nächsten Schritt

Verbinden Sie Anwendungen dynamisch, sicher und zuverlässig über ein Messaging-Netzwerk und ermöglichen Sie Ihrem Unternehmen, lose gekoppelte, nachrichten- und ereignisgesteuerte Anwendungen in großem Maßstab zu erstellen.

    Erkunden Sie IBM MQ Entdecken Sie IBM Integrationssoftware und -lösungen