Distributed Message Service (DMS)
Nutzen Sie unser Beratungsangebot!
Kostenlos und durch Experten.
Hotline: 24 Stunden am Tag, 7 Tage die Woche
Distributed Message Service (DMS)
Der Distributed Message Service (DMS) in der Open Telekom Cloud basiert auf der Kafka-Lösung der Apache Foundation und ermöglicht die Kommunikation zwischen verschiedenen Anwendungen, zum Beispiel um Daten und Prozesse zu synchronisieren. Der DMS funktioniert wie ein Postdienst innerhalb der Cloud: Absender*in und Empfänger*in müssen nicht gleichzeitig aktiv sein. Anwendungen, die Nachrichten in Form von JSON-Objekten versenden, müssen nicht auf Empfangsbestätigungen anderer Anwendungen warten – das DMS legt eine Verarbeitungswarteschlange an und versendet die Nachricht zu einem späteren Zeitpunkt. Dies ermöglicht die Koordination zwischen einzelnen Komponenten einer Cloud-Anwendung, um beispielsweise den Status von Daten zu synchronisieren, was DMS zur perfekten Lösung für große, verteilte Anwendungslandschaften macht.
Der DMS speichert Nachrichten in der Warteschlange auf verschiedenen Servern. Jede Nachricht hat mehrere Replikate, wodurch eine hohe Zuverlässigkeit und Verfügbarkeit erreicht wird.
Die Datenreplikation und das synchrone Flushing auf Festplatten gewährleisten eine Datenzuverlässigkeit von bis zu 99,99999999 %, während Cluster- und AZ-übergreifende Implementierungen eine Serviceverfügbarkeit von bis zu 99,95 % sicherstellen.
DMS-Warteschlangen können Millionen von Nachrichten ohne Leistungseinbußen verarbeiten und erreichen einen Durchsatz von 100.000 gleichzeitigen Nachrichten pro Sekunde. Die Zustellzeit der Nachrichten ist auf die Millisekunde genau.
Der DMS interagiert mit dem Cloud Trace Service (CTS), um Vorgänge der Mandantenverwaltung aufzuzeichnen und zu prüfen. Die verschlüsselte Speicherung von Nachrichten schützt sie vor unbefugtem Zugriff.
DMS ist mit nativen Kafka-Warteschlangen kompatibel, so dass Sie Ihre Nachrichtendienste ohne Änderungen migrieren können.
Der DMS kann in verschiedenen Bereichen eingesetzt werden, z. B. in Unternehmensanwendungen, Online-Zahlungen, Telekommunikation, E-Commerce, Logistik, Marketing, sozialen Netzwerken, Instant Messaging (IM), mobilen Spielen, Video, Internet of Things (IoT) und Internet of Vehicles (IoV).
Der Distributed Message Service ist in den folgenden Szenarien nützlich:
Der DMS bietet Nachrichtenmeldungen für zusätzliche Dienste, die von anderen Systemen abhängig sind. Er entkoppelt zusätzliche Dienste von Schlüsseldiensten, so dass die Schlüsseldienste fortfahren können, ohne auf andere Systeme zu warten.
Zum Beispiel stellt das Auftragsabwicklungssystem (OP) einer E-Commerce-Website während Werbeaktionen Auftragsinformationen in DMS-Nachrichtenwarteschlangen. Die Bestands- und Lieferverwaltungssysteme lesen die Auftragsinformationen später aus den Warteschlangen.
In Handels- oder Zahlungssystemen muss der Transaktionsstatus (Erfolg oder Misserfolg) über Subsysteme oder Module hinweg konsistent sein. Um die Kontinuität der Dienste zu gewährleisten, ist eine zuverlässige Nachrichtenübertragung zwischen den Teilsystemen oder Modulen erforderlich. Der DMS bietet eine äußerst zuverlässige Datenübertragung zwischen Subsystemen oder Modulen, um die Konsistenz des Transaktionsstatus bei geringeren Kosten zu gewährleisten.
Wenn Bankkund*innen beispielsweise Vermögensverwaltungsprodukte über die Einlage kaufen, werden die Gewinne aus den Vermögensverwaltungsprodukten möglicherweise nicht in deren Einlagenkonten ausgewiesen. Dies liegt daran, dass ein Vermögensverwaltungssystem Transaktionen in der Regel am Ende eines jeden Tages verarbeitet. Um Abstimmungsinkonsistenzen zwischen dem Bankensystem und dem Vermögensverwaltungssystem zu vermeiden, können die Kauf- und Zahlungsdaten von Vermögensverwaltungsprodukten im DMS gespeichert werden, so dass die Konsistenz zwischen dem Einlagenbestand und den Gewinnen aus der Vermögensverwaltung gewährleistet ist.
Bei E-Commerce-Systemen oder anderen groß angelegten Websites besteht ein Unterschied in der Verarbeitungskapazität zwischen vor- und nachgelagerten Systemen. Lastspitzen von vorgelagerten Systemen mit hoher Verarbeitungskapazität können große Auswirkungen auf nachgelagerte Systeme mit geringer Verarbeitungskapazität haben.
Bei Online-Verkaufsaktionen zum Beispiel strömt eine riesige Menge an Datenverkehr in die E-Commerce-Systeme. Der DMS kann dazu beitragen, Aufträge und andere Informationen zu puffern und so die nachgelagerten Systeme zu entlasten. Es bietet einen dreitägigen Puffer für Hunderte von Millionen von Nachrichten, so dass Systeme, die Nachrichten verbrauchen, diese in Zeiten mit geringerem Verkehrsaufkommen verarbeiten können.
Anwendungen senden Protokollnachrichten über zuverlässige Übertragungskanäle asynchron an den DMS. Andere Komponenten können Protokollnachrichten aus Nachrichtenwarteschlangen zur weiteren Analyse lesen, entweder in Echtzeit oder offline. Darüber hinaus kann der DMS die für die Überwachung von Anwendungen erforderlichen wichtigen Protokollinformationen sammeln. Der DMS-Protokollsynchronisationsprozess umfasst die folgenden Schritte:
DMS arbeitet in verteilten und hoch skalierbaren Rechenclustern und verfügt über standardisierte RESTful-APIs, die für den Zugriff auf die generierten Nachrichten verwendet werden. Die Nachrichten in der Warteschlange werden auf verschiedenen Partitionen gespeichert, und der Cloud-native Dienst kann ohne zusätzliche Hardware- oder Software-Ressourcen genutzt werden. Der DMS kann über die Webkonsole, den OTC Terraform Provider oder die OpenStack-Befehlszeilenschnittstelle gesteuert werden. Die erzeugten Message Queues oder Apache Kafka Premium Cluster werden nach dem First-In-First-Out-Prinzip der Reihe nach abgearbeitet. Darüber hinaus unterstützt der DMS Dead-Letter-Queues (in denen Nachrichten, die nicht zugestellt werden konnten, gespeichert werden).
Schritt 1
Ein*e Absender*in schickt die Nachricht M an eine Nachrichtenwarteschlange. Die Nachricht M wird redundant in der Warteschlange verteilt.
Schritt 2
Ein*e Empfänger*in erhält die Nachricht M aus der Warteschlange.
Während die Nachricht M abgerufen wird, bleibt sie in der Warteschlange. Sie kann innerhalb von 30 Sekunden seit Beginn des Abrufs nicht erneut abgerufen werden. Wird die Nachricht M innerhalb dieses Zeitraums nicht bestätigt, kann sie erneut abgerufen werden.
Schritt 3
Sobald die Nachricht M bestätigt ist, kann sie von Empfänger*innen derselben Gruppe nicht mehr abgerufen werden.
Sie kann jedoch weiterhin von Empfänger*innen aus anderen Gruppen abgerufen werden. Sie verbleibt mindestens 72 Stunden in der Warteschlange (es sei denn, die Warteschlange wird gelöscht) und wird nach Ablauf dieser Frist gelöscht.
Die Open Telekom Cloud bietet Message Queues im Rahmen eines Shared-Modells an, d.h. die Rechenressourcen werden zwischen Kund*innen geteilt und die Kosten werden nach der Anzahl der ausgelösten API-Aufrufe und Queues umgelegt.
Apache Kafka Premium hingegen bietet eine dedizierte, gemanagte Clusterlösung mit höchster Verfügbarkeit auf Knopfdruck. Im Vergleich zu Nachrichtenwarteschlangen bietet Kafka Premium einen garantierten Datendurchsatz für Nachrichten, was für Unternehmenslösungen unerlässlich ist. Kafka Premium kann sowohl intern über das sichere OTC-Netzwerk als auch extern über das Internet genutzt werden. Die Cluster-Kosten hängen von der gewünschten Cluster-Größe ab und fallen auf Stundenbasis an, unabhängig von der Anzahl der API-Aufrufe und Warteschlangen. Das macht es Ihnen leicht, die Kosten für Ihren Business Case zu kalkulieren.
Kafka Premium-Instanzen verwenden physisch isolierte Rechen-, Speicher- und Bandbreitenressourcen. Sie können Partitionen und Repliken für Kafka-Themen in den Instanzen anpassen und die Netzwerkbandbreite nach Bedarf konfigurieren. Die Instanzen sind sofort einsatzbereit und entlasten Sie von der Bereitstellung und dem Betrieb, sodass Sie sich auf die Entwicklung Ihrer Dienste konzentrieren können.
* Gutschein ist einlösbar bis zum 31.12.2023. Bitte sprechen Sie uns bei der Buchung auf den Gutscheinbetrag an. Das Rabattvolumen ist nur für Kunden mit Rechnungsanschrift in Deutschland gültig und verfällt 2 Monate nach Abschluss des Vertrages. Das Guthaben wird mit den gültigen Listenpreisen gemäß Leistungsbeschreibung verrechnet. Eine Auszahlung ist ausgeschlossen.