Erstellen Sie ganz einfach Messaging-Integrationsanwendungen auf Basis von EventBridge

Autor: Changfeng

Vorwort

In diesem Artikel werden hauptsächlich die auf Alibaba Cloud EventBridge basierenden Nachrichtenintegrationsfunktionen vorgestellt. Basierend auf der aktuellen großen Nachfrage nach Messaging-Produkten bietet er einen Überblick über die Nachrichtenintegrationslösungen von EventBridge vom Funktionsumfang bis hin zu tatsächlichen Szenarien.

Beginnen wir mit der aktuellen Nachrichtenlage

Als wirksames Werkzeug zur Anwendungsentkopplung und zum Ausgleich von Verkehrsspitzen und zum Füllen von Talläufen wird die Nachrichtenwarteschlange seit langem von Entwicklern in verschiedenen verteilten Diensten häufig eingesetzt. Mit der kontinuierlichen Weiterentwicklung und Iteration des Geschäfts stehen immer mehr Dienste vor Stabilitäts- und Wartbarkeitsproblemen, und die Nachfrage nach Nachrichtenwarteschlangen beschränkt sich nicht mehr auf den normalen Abonnementverbrauch. Hier sind die Leistungsanforderungen in drei Szenarien:

Funktionen zur Nachrichtenweiterleitung

Die Hauptanforderungsszenarien sind hier Datensynchronisation und Remote-Disaster-Recovery. Für die meisten Nachrichtenwarteschlangenbenutzer werden die Geschäftsdaten in der Nachrichtenwarteschlange im Allgemeinen von einem Diensttyp verbraucht und verarbeitet. Wenn der Benutzer über mehrere Anwendungen verfügt und eine globale Ansicht benötigt, um die Daten dieser verschiedenen Anwendungen zusammenzufassen und zu analysieren, ist das Nachrichtenrouting das Richtige ist zu einer unumgänglichen Fähigkeitsanforderung geworden. Ebenso müssen große Cloud-Benutzer im Hinblick auf eine Datenwiederherstellung nach einem Katastrophenfall in der Regel Nachrichtendaten in verschiedenen Regionen synchronisieren.

Die Implementierung des Nachrichtenroutings in der Cloud ist jedoch möglicherweise keine leichte Aufgabe. Wie wir alle wissen, sind die Netzwerke zwischen Regionen in der Cloud streng isoliert. Wenn Benutzer Daten über Regionen hinweg übertragen möchten, müssen sie entweder Netzwerkkonnektivitätslösungen wie CEN verwenden oder das öffentliche Netzwerk für die Datenübertragung nutzen. Ersteres erfordert einen vollständigen Netzwerkplan zu Beginn der Geschäftsgründung, und die Kosten für CEN sind ebenfalls ein großer Kostenfaktor. Letzteres erfordert die Berücksichtigung der Kosten für die Bandbreite des öffentlichen Netzwerks und der Sicherheitsprobleme, die sich aus der Offenlegung von Daten im öffentlichen Netzwerk ergeben.

Fähigkeit zur Nachrichtenverarbeitung

Stellen Sie sich ein solches Szenario vor. Auf der E-Commerce-Plattform ist RocketMQ für die Übermittlung der Bestellinformationen des Benutzers verantwortlich. Die nachgelagerten Zahlungs-, Lager- und Marketingabteilungen müssen alle die Bestellinformationen nutzen. Aus historischen und technologischen Gründen werden die verwendeten Nachrichten verwendet von diesen Abteilungen Die Produkttypen sind unterschiedlich, nämlich RocketMQ, RabbitMQ und Kafka, und was diese Abteilungen benötigen, ist nicht die gesamte Menge an Originalnachrichten, sondern einige derjenigen, an denen sie interessiert sind. Gleichzeitig stellt die eigene Schnittstelle auch bestimmte Anforderungen an das Datenschema und erwartet nicht, dass die ursprüngliche Nachricht zugestellt wird.

Derzeit scheint eine einfache Nachrichtenweiterleitung den Anforderungen nicht gerecht zu werden. Wenn diese Aufgabe einem Produkt übertragen wird, muss dieses Produkt zwei Fähigkeiten erfüllen: Die erste ist die Fähigkeit, Nachrichten an andere Arten von Nachrichtenprodukten weiterzuleiten, und die andere ist die Fähigkeit, Daten zu filtern und zu verarbeiten.

Ökologische Ausbaufähigkeit

Für herkömmliche Nachrichtenbenutzer besteht der Lebenszyklus ihrer Nachrichten nur aus der Sende- und Konsumphase ihres eigenen Unternehmens. Aber heute, wo sich alles in der Cloud befindet und eine Vielzahl von Cloud-Produkten mit leistungsstarken Funktionen verwendet werden können, um den Upstream und Downstream von Nachrichten zu bereichern, wird der potenzielle Wert von Nachrichtendaten deutlich ausgeschöpft. Beispielsweise müssen Benutzer möglicherweise SLS-Protokolldaten in die Nachrichtenwarteschlange importieren, um Offline-Datenverarbeitungsfunktionen zu nutzen; oder sie müssen möglicherweise Daten in der Nachrichtenwarteschlange verwenden, um Funktionsberechnungen auszulösen, um die gesamte Anwendung serverlos zu machen.

Die aktuelle Situation ist jedoch so, dass Benutzer, die das Andocken verschiedener ökologischer Produkte selbst implementieren, mit den Problemen einer hohen Entwicklungsarbeitsbelastung und einer umständlichen anschließenden Wartung konfrontiert werden. Der idealste Weg besteht darin, über ein sofort einsatzbereites Tool zu verfügen, das eine Verbindung zu genügend Ökosystemen herstellen kann und so einfach wie möglich zu verwenden ist. Gibt es also ein Cloud-Produkt, das die oben genannten Probleme lösen und Nachrichtenbenutzern dabei helfen kann, bequeme und zuverlässige Nachrichtenintegrationsfunktionen zu erhalten? Hier müssen wir den Protagonisten dieser Ausgabe vorstellen: den Alibaba Cloud-Ereignisbus EventBridge.

Ereignisbus- und Nachrichtenintegration

Event Bus EventBridge ist ein serverloser Event Bus-Dienst, der von Alibaba Cloud bereitgestellt wird. Er unterstützt die standardisierte und zentrale Verbindung von Alibaba Cloud-Diensten, benutzerdefinierten Anwendungen und SaaS-Anwendungen und kann über das standardisierte CloudEvents 1.0-Protokoll zwischen diesen Anwendungen kommunizieren. Routing Veranstaltungen.

Die Kernfunktionen von EventBridge lassen sich in drei Punkten zusammenfassen: einheitliche Event-Services, Datenpipelines sowie Offenheit und Integration.

  • Einheitlicher Veranstaltungsservice

    Vor der Einführung von EventBridge waren die Ereignisse jedes Cloud-Produkts unabhängig voneinander und Benutzer konnten nicht alle Cloud-Produktereignisse an einem Ort sammeln und verarbeiten. Das Aufkommen von EventBridge durchbricht diese Situation. Es sammelt die meisten Cloud-Produktereignisse in der Cloud und bietet eine einheitliche und systematische Anzeigeinteraktion auf der Benutzerseite, sodass Cloud-Benutzer Cloud-Produktereignisse systematischer sortieren und verarbeiten können.

  • Datenpipeline

    EventBridge deckt nicht nur Ereignisse in der Cloud ab, sondern bietet auch Datenpipeline-Funktionen, um Datenkonnektivität und -interaktion zu erreichen. Beispielsweise können Benutzer mit EventBridge Nachrichtenweiterleitungsaufgaben erstellen, um Daten in Nachrichtenwarteschlangen in andere Nachrichtenwarteschlangen zu importieren, oder Aufgaben erstellen, um Protokolldaten in SLS in Nachrichtenwarteschlangen zu importieren. Derzeit verfügt EventBridge über eine breite Palette an Produktunterstützung sowohl auf der Quell- als auch auf der Zielseite.

  • Offen und integriert

    EventBridge öffnet SDKs in mehreren Sprachen, um Entwicklern mit unterschiedlichen Technologie-Stacks die schnelle und bequeme Nutzung von EventBridge zu erleichtern. Gleichzeitig ist EventBridge auch mit dem Standard-Cloudevents-SDK in der Cloud kompatibel. Selbst wenn Benutzer das Open-Source-SDK der Branche verwenden, können sie problemlos Ereignisse an EventBridge übermitteln. In Bezug auf die Definition des Ereignisschemas übernimmt EventBridge Cloudevents 1.0, den aktuellen De-facto-Standard für Ereignisse in der Cloud, um sicherzustellen, dass Kunden, die andere Ereignisdienste nutzen, nahtlos zu Alibaba Cloud EventBridge migrieren können und auch schnell auf ihre Ereignisse auf Alibaba Cloud EventBridge zugegriffen werden kann . Andere gängige EDA-Engines vermeiden eine Anbieterbindung.

Als Reaktion auf die im ersten Teil erwähnten Probleme, mit denen Nachrichtenbenutzer konfrontiert sind, bietet EventBridge Komplettlösungen im Bereich der Nachrichtenintegration, einschließlich Lösungen für den Nachrichtenfluss (auch Nachrichtenrouting genannt), Lösungen für die Nachrichtenverarbeitung und Lösungen für die Fähigkeit zur ökologischen Unterstützung.

Nachrichtenflusslösung

Derzeit unterstützt EventBridge den Zugriff auf die meisten Messaging-Produkte in der Cloud, wie RocketMQ, RabbitMQ, Kafka, MNS und MQTT. Benutzer, die diese Messaging-Produkte verwenden, können entsprechende Routing-Aufgaben in der Konsole des entsprechenden Messaging-Produkts, der Nachrichteneingangs- und -ausgangsseite oder der Konsole von EventBridge erstellen.

Als Reaktion auf die Bedürfnisse einiger Cloud-Benutzer unterstützt EventBridge auch die Nachrichtenweiterleitung zwischen Regionen und Konten.

Wenn Benutzer in regionsübergreifenden Szenarien eine Nachrichtenroute von Peking nach Shanghai erstellen müssen, wählen sie auf der Nachrichteneingangs- und -ausgangsseite der Nachrichtenwarteschlangenkonsole die entsprechenden Quellinstanzinformationen und Zielinstanzinformationen aus und erstellen und starten sie mit einer klicken.

Wenn Benutzer kontoübergreifende Nachrichtenweiterleitungsanforderungen haben (z. B. ein Szenario, in dem verschiedene Abteilungen eines Unternehmens über unabhängige Konten verfügen und Daten für jede Abteilung zusammenfassen müssen), kann der Ereignisbus von EventBridge verwendet werden, um die Datensynchronisierung zwischen verschiedenen Abteilungen abzuschließen Konten. Detaillierte Schritte zur Aufgabenerstellung finden Sie in der offiziellen Dokumentation von EventBridge.

Wenn es sich bei der eigenen Nachrichtenquelle des Benutzers nicht um ein Cloud-Produkt handelt, bietet EventBridge derzeit verschiedene praktische Möglichkeiten, um Benutzern eine schnelle Verbindung zu ermöglichen. Wenn Benutzer ihre eigenen Messaging-Dienste in der Cloud erstellen, beispielsweise das selbst erstellte RocketMQ, unterstützt EventBridge Benutzer bereits durch einfache Konfiguration dabei, schnell auf Nachrichtendaten zuzugreifen. Wenn der Benutzerdienst in einem selbstgebauten Computerraum bereitgestellt wird und ein Messaging-Produkt verwendet, das nicht von der Cloud unterstützt wird, kann der Benutzer auch das von EventBridge bereitgestellte SDK verwenden, um Ereignisse proaktiv zuzustellen und sie dann in verschiedene nachgelagerte Clouds zu schreiben Cloud.-Produkte eignet sich diese Art von Szenario für Kunden, die in die Cloud migrieren.

Lösung zur Nachrichtenverarbeitung

EventBridge bietet derzeit umfangreiche Funktionen zur Ereignisextraktion und -verarbeitung, und Benutzer können eine Vielzahl von Filter- und Verarbeitungsregeln konfigurieren, um ihre Geschäftsanforderungen zu erfüllen.

Beispielsweise verfügt das Ereignis eines Benutzers über ein Feld, das den Bestelltyp darstellt, und der Inhalt umfasst zwei Typen: Online-Bestellungen und Offline-Bestellungen. Der Benutzer erwartet, dass er die Daten, deren Bestelltyp „Online-Bestellung“ ist, filtert und sie an den Funktionscomputerdienst liefert, der das Online-Geschäft abwickelt. Hier können Sie auf die in den Filterregeln angegebene Werteübereinstimmung zurückgreifen und den Wert des entsprechenden Feldes in den Filterregeln auf Online-Bestellungen setzen.

Zusätzlich zum spezifizierten Wertabgleich unterstützt EventBridge auch Präfixabgleich, Suffixabgleich (außer Abgleich), numerischen Abgleich, Array-Abgleich, komplexen Kombinationsabgleich und andere Logik, um die meisten Kundenszenarioanforderungen zu erfüllen.

Manchmal erwarten Benutzer nicht, dass der Veranstaltungsinhalt so wie er ist an das Ziel geliefert wird, sondern dass er vor der Übermittlung in ein bestimmtes Format verarbeitet wird. EventBridge bietet auch Funktionen zur Ereigniskonvertierung. Zu den derzeit unterstützten Konvertertypen gehören vollständige Ereignis-, Teilereignis-, Konstanten-, Vorlagen- und Funktionsberechnungskonverter. Diese Konverter haben unterschiedliche Arbeitsteilungen. Zusammen können sie Benutzern helfen, einige wertvolle Felder aus dem Ereigniskörper zu extrahieren und sie nach Bedarf in das vom Zielende benötigte Datenformat zu integrieren.

Messaging-Ökosystemlösungen

Als Reaktion auf das Problem der Messaging-Ökologie mit geschlossenem Regelkreis kann die Intervention von EventBridge den Reichtum seiner vor- und nachgelagerten Ökologie effektiv erweitern.

Auf der Nachrichteneingangsseite unterstützt EventBridge den Zugriff auf Nachrichtenprodukte wie MNS und Kafka sowie auf Datenbankprodukte wie DTS, Cloud-Management und -Steuerung, Alarmereignisse und benutzerdefinierte Ereignisse, sodass Benutzer problemlos verschiedene Ereignisdaten abrufen können.

Auf der Nachrichtenausgangsseite unterstützt EventBridge die Auslösung von Computerprodukten wie FC und SAE, Datenbankprodukten RDS, Benachrichtigungsprodukten wie DingTalk und WeChat, allgemeinen APIs wie http-Ziel und Saas-Anwendungen von Drittanbietern. Benutzer von Messaging-Produkten können Nachrichten durch einfache Konfiguration in nachgelagerte Dienste importieren, um einen Geschäftswert zu generieren.

Szenarien und tatsächlicher Kampf

Nachfolgend zählen wir mehrere Szenarien auf und betrachten die Schritte zum Erstellen entsprechender Aufgaben auf der Messaging-Produktkonsole.

Szenario zur Nachrichtenweiterleitung

Das erste Szenario ist das Nachrichtenrouting-Szenario über die Verfügbarkeitszone hinweg. Benutzer können mit diesem Problem konfrontiert werden, wenn sie Notfallwiederherstellung oder Datenaggregation benötigen.

Wie in der Abbildung dargestellt, wird das Unternehmen des Benutzers in drei Regionen eingesetzt: Hangzhou, Peking und Qingdao. Jede Region verarbeitet selbstständig die Geschäftsdaten dieser Region. Um jedoch einen globalen Datenplattendienst aufzubauen, müssen Benutzer die Nachrichtenproduktdaten jeder Region aggregieren.

Hier können Benutzer die Nachrichtenintegrationsfunktionen von EventBridge nutzen, um Nachrichtenrouting-Aufgaben von Hangzhou nach Peking und von Qingdao nach Peking zu erstellen und diese Nachrichten dann über eine unabhängige Verbrauchergruppe zu konsumieren, um die regionsübergreifende Nachrichtendatenaggregation abzuschließen.

Allerdings ist zu beachten, dass Benutzer in Remote-Disaster-Recovery-Szenarien, wenn sie bidirektionales Routing konfigurieren müssen, entsprechende Filterregeln konfigurieren müssen, um Datenschleifen zu vermeiden.

Schauen wir uns nun die Schritte zum Erstellen dieser regionsübergreifenden Nachrichtenrouting-Aufgabe an. Da diese Dienste von EventBridge bereitgestellt werden, müssen Benutzer den EventBridge-Dienst im Voraus aktivieren und EventBridge auf der Übersichtsseite die Berechtigung erteilen, auf verwandte Cloud-Produktdienste zuzugreifen.

Hier nehmen wir als Beispiel die Erstellung einer RocketMQ-Nachrichtenrouting-Aufgabe von Peking nach Shanghai. Melden Sie sich zunächst bei der RocketMQ-Konsole an.

  1. Wählen Sie auf der linken Seite der Konsole „Nachrichtenausgang“ aus und klicken Sie auf „Aufgabe erstellen“.
  2. Wählen Sie in der Erstellungs-Taskleiste die Nachrichtenwarteschlange RocketMQ als Abflusstyp aus.
  3. Wählen Sie dann in den Dropdown-Parametern der Popup-Aufgabenkonfiguration Peking als Quellregion aus und geben Sie die RocketMQ-Instanzinformationen entsprechend der tatsächlichen Situation ein.

  1. Wählen Sie auf der Zielseite die eingehende Shanghai RocketMQ-Instanz aus und geben Sie die relevanten Informationen ein.

  1. Füllen Sie die Nachrichtenfilterung und Nachrichtenkonvertierung nach Bedarf aus und klicken Sie auf OK.
  2. Nachdem Sie 1–2 Minuten gewartet haben, können Sie sehen, dass die Nachrichtenweiterleitungsaufgabe bereits ausgeführt wird. Dies zeigt an, dass die Nachrichtenweiterleitungsaufgabe erfolgreich erstellt und ausgeführt wurde.

Offline-Verarbeitungsszenario

Das zweite Szenario ist ein Offline-Datenanalyseszenario für Nachrichten.

Zusätzlich zur sofortigen Geschäftsnutzung von Nachrichten in MQ müssen Benutzer diese auch zur Datenanalyse und Alarmkonfiguration in SLS importieren. Gleichzeitig stellen Benutzer auch bestimmte Anforderungen an das in SLS geschriebene Inhaltsformat.

Hier können Benutzer auf der Nachrichteneingangs- und -ausgangsseite eine Aufgabe erstellen, um Daten über EventBridge in SLS zu importieren. Während des Aufgabenkonfigurationsprozesses können gemäß der Variablen- und Vorlagenkonfiguration im Beispiel in der Abbildung die Namens- und Statusfelder im ursprünglichen Dateninhalt extrahiert und ein neues Inhaltsformat entsprechend den Anforderungen generiert werden.

Nehmen wir immer noch RocketMQ als Beispiel: Klicken Sie auf der Nachrichtenausgangsseite der RocketMQ-Konsole auf Aufgabe erstellen.

  1. Wählen Sie als Abflusstyp Log Service SLS aus.
  2. Wählen Sie in der Konfiguration der Aufgabenparameter unten die entsprechenden RocketMQ-Instanzinformationen auf der Quellseite und das entsprechende SLS-Projekt und logStore auf der Zielseite aus.

  1. Geben Sie im Abschnitt Protokollinhaltsformat den entsprechenden Inhalt entsprechend der in der Abbildung angegebenen Variablen- und Vorlagenkonfiguration ein und klicken Sie auf OK.

  1. Nachdem Sie 1-2 Minuten gewartet haben, können Sie sehen, dass die Aufgabe zum Schreiben von Nachrichten an SLS bereits ausgeführt wird, was darauf hinweist, dass die Aufgabe erfolgreich erstellt und ausgeführt wurde.

Das Obige ist eine Einführung in die Nachrichtenintegrationsfunktionen von Alibaba Cloud EventBridge. In Zukunft wird EventBridge auch die Unterstützung für Funktionen im Messaging-Bereich erweitern, um Benutzern dabei zu helfen, den Wert von Nachrichtendaten zu geringen Kosten zu erkennen. Interessierte Freunde können der offiziellen Website von EventBridge und den offiziellen Dokumenten folgen, um so schnell wie möglich die neuesten Produktneuigkeiten zu erhalten.

Der Autor des Open-Source-Frameworks NanUI wechselte zum Verkauf von Stahl und das Projekt wurde eingestellt. Die kostenlose Liste Nummer eins im Apple App Store ist die pornografische Software TypeScript. Sie ist gerade populär geworden, warum fangen die Großen an, sie aufzugeben? ? TIOBE-Oktoberliste: Java verzeichnet den größten Rückgang, C# nähert sich Java Rust 1.73.0 veröffentlicht Ein Mann wurde von seiner KI-Freundin dazu ermutigt, die Königin von England zu ermorden und wurde zu neun Jahren Gefängnis verurteilt Qt 6.6 offiziell veröffentlicht Reuters: RISC-V Technologie wird zum Schlüssel zum chinesisch-amerikanischen Technologiekrieg. Neues Schlachtfeld RISC-V: Lenovo wird nicht von einem einzelnen Unternehmen oder Land kontrolliert und plant die Einführung eines Android-PCs
{{o.name}}
{{m.name}}

Supongo que te gusta

Origin my.oschina.net/u/3874284/blog/10117564
Recomendado
Clasificación