Eventarc Advanced

Mit Eventarc können Sie ereignisgesteuerte und nachrichtenbasierte Architekturen erstellen, ohne die zugrunde liegende Infrastruktur implementieren, anpassen oder verwalten zu müssen.

Eventarc wird in zwei Editionen angeboten: Eventarc Advanced und Eventarc Standard. Beide Editionen bieten eine skalierbare, serverlose und vollständig verwaltete Ereignislösung, mit der Sie Ereignisse asynchron von Quellen an Ziele weiterleiten können. Weitere Informationen finden Sie unter Eventarc Advanced oder Eventarc Standard auswählen.

Eventarc Advanced wurde entwickelt, um die Aufnahme, Orchestrierung und Bereitstellung von Ereignisdaten über Nachrichten zwischen Anwendungen, Diensten und Endpunkten zu vereinfachen. Mit Eventarc Advanced können Sie Ereignisse erfassen, die in einem System auftreten, und sie in einem zentralen Bus veröffentlichen. Interessierte Dienste können bestimmte Nachrichten abonnieren, indem sie Anmeldungen erstellen. Mit dem Bus und einer Pipeline können Sie Ereignisse in Echtzeit von mehreren Quellen weiterleiten, sie an mehreren Zielen veröffentlichen und Ereignisse optional vor der Zustellung an ein Ziel transformieren.

Eventarc Advanced ist ideal für Organisationen mit komplexen Ereignis- und Messaginganforderungen, insbesondere für solche, die mit der Verwaltung zahlreicher Pub/Sub-Themen, Kafka-Warteschlangen oder anderer Messagingsysteme von Drittanbietern zu kämpfen haben. Eventarc Advanced bietet Administratoren eine verbesserte und zentralisierte Sichtbarkeit und Kontrolle und ermöglicht Organisationen, mehrere Teams in verschiedenen Projekten zu verbinden.

Sie können Eventarc Advanced über die Google Cloud Konsole, über die Befehlszeile mit der Google Cloud CLI oder über die Eventarc API verwalten.

Mit Eventarc Advanced können Sie Nachrichten zwischen verschiedenen Diensten, Apps und Systemen empfangen, filtern, transformieren, weiterleiten und zustellen.
Mit Eventarc Advanced können Sie Nachrichten zwischen
verschiedenen Diensten, Apps und Systemen empfangen, filtern, transformieren, weiterleiten und zustellen (zum Vergrößern auf das Diagramm klicken).

Wichtige Konzepte

  1. Ein Bus bietet einen sichtbaren Endpunkt für Ereignisse und ist ein Router, der alle von Anbietern veröffentlichten Ereignisse empfängt und an null oder mehr Ziele weiterleitet. Mit einem Bus können Sie den Fluss von Nachrichten durch Ihr System zentralisieren, überwachen und verfolgen. Sie können einen Bus verwenden, um Ereignisse von vielen Quellen an viele Ziele weiterzuleiten.

  2. Nachrichten, die an einem Bus eingehen, werden anhand der Kriterien einer Anmeldung ausgewertet. Diese stellt ein Abo für Ereignisse dar, die von einem bestimmten Bus erfasst werden. Die Ereignisse werden an Nutzer weitergeleitet, die diese bestimmten Ereignisse abonniert haben. Mit der Anmeldung können Sie mit der Common Expression Language (CEL) detaillierte Richtlinien zur Zugriffssteuerung definieren, indem Sie Ereignisse anhand von Ereignis attributen abgleichen. Mit einer Anmeldung können Sie auch die Pipeline angeben, an die übereinstimmende Ereignisse gesendet werden sollen.

  3. Die Pipeline ist einem Bus und einem Ziel zur Übermittlung zwischengeschaltet. In der Pipeline wird ein Ziel angegeben und es besteht die Möglichkeit, alle übereinstimmenden Ereignisse vor ihrer Übermittlung an das Ziel zu transformieren. Sie können verschiedene Ereignisstrukturen verarbeiten, indem Sie mehrere Nutzlastformate unterstützen und Ereignisdaten im laufenden Betrieb anpassen, ohne die Quell- oder Zieldienste zu ändern.

Hauptmerkmale

Eventarc Advanced unterstützt viele Anwendungsfälle für Zielanwendungen. Einige Hauptmerkmale:

  • Anwendungsintegration im großen Maßstab: Sie können zahlreiche Dienste und Anwendungen verbinden und so die asynchrone Kommunikation über verschiedene Ereignis formate und -schemata hinweg ermöglichen.

  • Ereignisstreaming für KI und Analysen: Sie können den Zustrom von Daten von IoT-Geräten und KI-Arbeitslasten verarbeiten, Ereignisse filtern, transformieren und anreichern, bevor Sie sie in Ihre Analysepipelines einspeisen.

  • Hybrid- und Multi-Cloud-Bereitstellungen: Sie können Ihre ereignisgesteuerten Architekturen erweitern Google Cloud, indem Sie sie in lokale Systeme und andere Cloud-Anbieter einbinden. Mit Eventarc Advanced können Sie Ereignisse aus verschiedenen Quellen weiterleiten, darunter Google-Quellen und direkte Herausgeber von Ereignissen.

Regionalität

Eventarc Advanced ist ein vollständig regionaler Dienst: Der gesamte Eventarc Advanced-Traffic und alle Daten müssen sich in derselben Region befinden. Anmeldungen und Pipelines können beispielsweise nur Daten aus derselben Region wie der Bus lesen und verarbeiten. Regionenübergreifende Unterstützung kann erreicht werden indem Ereignisse in verschiedenen Regionen in verschiedenen Bussen veröffentlicht werden und ein Netzwerk innerhalb eines Dienstperimeters konfiguriert wird, der mehrere Regionen umfasst.

Projektlayouts

Alle Eventarc-Ressourcen müssen zu einem Google Cloud Projekt gehören. Es ist jedoch nicht erforderlich, dass sich der Anbieter (Ereignisquelle), der Bus (Administrator) und die Pipeline (Ereignisziel) im selben Projekt befinden. Sie können auch Ereignisse aus Google-Quellen in mehreren Projekten erfassen und veröffentlichen. Weitere Informationen finden Sie unter Ereignisse aus mehreren Projekten veröffentlichen.

Sie können eine Kombination aus Identity and Access Management-Berechtigungen (IAM) verwenden, um die Ressourcennutzung zu steuern, den detaillierten Zugriff auf Daten mithilfe von Zugriffsrichtlinien und CEL zu verwalten und Dienstperimeter zu verwenden, um die Netzwerk- und Sicherheitsanforderungen für verschiedene Eingangs- und Ausgangs anforderungen zu erfüllen.

Ereignisse

Ein Ereignis ist ein Datensatz, der ein Vorkommen und seinen Kontext wiedergibt und eine Änderung an einer Ressource oder Umgebung angibt. Ein Ereignis ist eine von allen anderen Ereignissen unabhängige Kommunikationseinheit. Ein Ereignis kann z. B. eine Änderung von Daten in einer Datenbank, eine zu einem Speichersystem hinzugefügte Datei oder ein geplanter Auftrag sein.

Ein Ereignis ist auch eine Nachricht, die von einer Komponente ausgegeben wird, wenn sich ihr Status geändert hat. Wenn ein Ereignis eintritt, wird die Nachricht an die Ereignisinfrastruktur gesendet, wo sie von Nutzern abgerufen werden kann. Im Kontext der ereignisgesteuerten Architektur wird der Begriff Ereignis oft verwendet, um sich auf die Nachricht zu beziehen, die das Ereignis kommuniziert, und nicht auf das Vorkommen selbst (was tatsächlich passiert ist, um die Nachricht zu generieren).

Ereignistypen

Eventarc Advanced unterstützt Ereignisse, die direkt von einer Google-Quelle stammen.

Weitere Informationen finden Sie unter Von Eventarc unterstützte Google-Ereignistypen.

Ereignisanbieter und -ziele

Ereignisse werden von Eventarc Advanced von Ereignisanbietern erfasst und an ein Ereignisziel weitergeleitet. Für jede Eventarc Advanced-Pipeline kann nur ein Ziel als Ziel für weitergeleitete Nachrichten angegeben werden.

Zu den unterstützten Anbietern gehören Google-Anbieter und direkte Herausgeber von Ereignissen. Zu den unterstützten Zielen gehören Cloud Run, Cloud Run-Funktionen, HTTP-Endpunkte, die in einem Virtual Private Cloud-Netzwerk gehostet werden, ein Pub/Sub-Thema, Workflows und ein weiterer Eventarc Advanced-Bus.

Weitere Informationen finden Sie unter Ereignisanbieter und -ziele.

Ereignisformat und Bibliotheken

Eventarc liefert unabhängig von der Quelle Ereignisse an das Ziel in einem CloudEvents-Format mithilfe einer HTTP Anfrage im Binärinhaltsmodus. CloudEvents ist eine Spezifikation für die allgemeine Beschreibung von Ereignis-Metadaten.

Ziele wie Cloud Run-Funktionen und Cloud Run verwenden Ereignisse im HTTP-Format. Bei Workflows-Zielen konvertiert der Workflows-Dienst das Ereignis in ein JSON-Objektund übergibt das Ereignis als Laufzeitargument an die Workflowausführung.

Die Verwendung einer Standardmethode zum Beschreiben von Ereignismetadaten sorgt für Konsistenz, Barrierefreiheit und Übertragbarkeit. Ereignisnutzer können diese Ereignisse direkt lesen, oder Sie können die Cloud-Clientbibliotheken in verschiedenen Sprachen (einschließlich C++, C#, Go, Java, Node.js, PHP, Python und Ruby) verwenden, um die Ereignisse zu lesen und zu analysieren. Es gibt auch eine Reihe von sprachspezifischen CloudEvents-SDKs.

Die Struktur des HTTP-Texts für alle Ereignisse ist im GitHub-Repository von Google CloudEvents verfügbar.

Zuverlässigkeit und Bereitstellung

Es gibt keine garantierte Reihenfolge der Bereitstellung, etwa nach dem Prinzip "First-in-First-out". Beachten Sie, dass eine strikte Reihenfolge die Verfügbarkeits- und Skalierbarkeitsfunktionen von Eventarc beeinträchtigen würde, die mit denen der Transportebene Pub/Sub übereinstimmen. Weitere Informationen finden Sie unter Nachrichten sortieren.

Latenz und Durchsatz sind Best-Effort. Sie variieren auf Basis verschiedener Faktoren: ob der Veröffentlichungs- oder ausgehender Traffic verschiedene Regionen umfasst, der Konfiguration eines bestimmten Dienstes und der Netzwerkauslastung von Ressourcen in einer Google Cloud Region.

Es gibt Nutzungskontingente und -limits, die im Allgemeinen für Eventarc gelten.

Richtlinie für Ereigniswiederholung

Die von Eventarc Advanced festgelegte Standardaufbewahrungsdauer für Nachrichten beträgt 24 Stunden mit einer exponentiellen Backoff-Verzögerung.

Eventarc Advanced verwendet den exponentiellen Backoff mit einer Verzögerung zum Behandeln von Fehlern, für die Wiederholungsversuche möglich sind. Dies beginnt mit einer Verzögerung von einer Sekunde und die Verzögerung wird nach jedem fehlgeschlagenen Versuch verdoppelt (bis zu maximal 60 Sekunden und 5 Versuchen).

Weitere Informationen finden Sie unter Ereignisse wiederholen.

Duplizierte Termine

Ereignis-Duplikate werden möglicherweise an Event-Handler gesendet. Gemäß der CloudEvents-Spezifikation, wird die Kombination der Attribute source und id als eindeutig angesehen und daher werden alle Ereignisse mit derselben Kombination als Duplikate betrachtet. Sie sollten idempotente Event-Handler als allgemeine Best Practice implementieren.

Beobachtbarkeit

Google Cloud Observability bietet Monitoring-, Logging- und Diagnosetools. Mit diesen Tools können Sie Eventarc-Aktivitäten und -Wachstum überwachen und analysieren sowie das Verhalten, den Zustand und die Leistung Ihrer Anwendungen nachvollziehen. Weitere Informationen finden Sie unter Beobachtbarkeit in Eventarc.

Detaillierte Logs für Eventarc, Cloud Run, Cloud Run-Funktionen, Pub/Sub und Workflows sind über Cloud-Audit-Logs verfügbar.

Compliance standards

Eventarc entspricht diesen Zertifizierungen und Standards.

Nächste Schritte