Übersicht über ereignisgesteuerte Architekturen mit Eventarc

Sie können Eventarc und Firestore im Datastore-Modus verwenden, um ereignisgesteuerte Architekturen zu erstellen. Firestore im Datastore-Modus bietet Trigger für Eventarc, mit denen Ereignisse durch Änderungen an einer bestimmten Entität in der Datenbank generiert werden. Der Trigger kann Ereignisse an ein unterstütztes Ziel weiterleiten:

Eventarc bietet eine standardisierte Lösung zur Verwaltung des Flusses von Statusänderungen, den sogenannten Ereignissen, zwischen entkoppelten Mikrodiensten. Beim Auslösen leitet Eventarc diese Ereignisse an verschiedene Ziele weiter und verwaltet die Bereitstellung, Sicherheit, Autorisierung, Beobachtbarkeit und Fehlerbehandlung für Sie.

Beispielanwendungsfälle

Eine ereignisgesteuerte Architektur ist ein Systemdesignmuster, bei dem Dienste auf Statusänderungen reagieren, die als Ereignisse bezeichnet werden. Sie können dieses Muster zusammen mit der Skalierbarkeit von Firestore verwenden, um Ihrer Anwendung weitere Features hinzuzufügen. Sie können beispielsweise die folgenden Funktionen hinzufügen:

  • Interoperabilität zwischen verschiedenen Technology Stacks

    Replizieren und transformieren Sie Ihre Daten, bevor Sie sie an ein Analysesystem senden.

  • Parallelverarbeitung

    Fan-Out-Vorgänge für die parallele Verarbeitung Wenn Sie mehrere Systeme haben, die auf Entitätsänderungen basieren, können Sie die Push-basierten Streams in jedem Nutzer verwenden und das Ereignis an mehrere Nutzer weiterleiten.

  • Push-basierte Ereignisstreams

    Push-basierte Messaging-Designs erstellen Clients können Benachrichtigungen erhalten, ohne Remote-Dienste abfragen zu müssen. Ohne die Abfragelatenz können Sie die Datenverarbeitung und Echtzeitanalysen schneller durchführen.

  • Statusüberwachung und -benachrichtigung

    Verwenden Sie eine ereignisgesteuerte Architektur, um Ihren Datenbankvorgängen benutzerdefinierte Messwerte hinzuzufügen. Überwachen Sie Änderungen und Aktualisierungen und erhalten Sie entsprechende Benachrichtigungen. Anomalien erkennen.

Beschränkungen

Beachten Sie die folgenden Einschränkungen für Firestore-Trigger im Datastore-Modus für Eventarc:

  • Die Reihenfolge ist nicht garantiert. Schnelle Änderungen können Ereignisse in einer unerwarteten Reihenfolge auslösen.
  • Ereignisse werden mindestens einmal gesendet.

Der Event-Handler muss idempotent sein und darf nicht zu unerwarteten Ergebnissen oder Nebeneffekten führen, wenn ein Ereignis mehrmals gesendet wird. Weitere Informationen finden Sie unter Idempotente Funktionen erstellen.

Beschränkung der Vorschau

Für die Vorschau dieses Features gilt die folgende Einschränkung:

Standorte für Eventarc und Firestore im Datastore-Modus

Eventarc unterstützt keine multiregionalen Trigger für Firestore-Ereignis-Trigger. Sie können aber trotzdem Trigger für Firestore-Datenbanken an multiregionalen Standorten erstellen. Eventarc ordnet den folgenden Eventarc-Regionen multiregionale Firestore-Standorte zu:

Firestore – multiregional Eventarc-Region
nam5 us-central1
eur3 europe-west4

Interoperabilität zwischen Datastore-Modus und Ereignissen im nativen Modus

Eventarc unterstützt Ereignistrigger sowohl für den Datastore-Modus als auch den nativen Modus. Diese Ereignistrigger sind mit beiden Datenbanktypen interoperabel. Eine Firestore-Datenbank im nativen Modus kann Datastore-Ereignisse empfangen und eine Firestore-Datenbank im Datastore-Modus kann Ereignisse im nativen Modus empfangen.

Mit der Ereignisinteroperabilität können Sie Eventarc-Code für Firestore-Datenbanken unterschiedlichen Typs freigeben.

Ereignis-Conversions

Wenn Sie einen Ereignistrigger im nativen Modus auf eine Datenbank im Datastore-Modus anwenden, führt Eventarc die folgenden Konvertierungen aus:

  • Der Namespace der Entität wird im Attribut PartitionId des Ereignisses gespeichert.
  • Eingebettete Entitäten werden in Typen vom Typ map im nativen Modus konvertiert.

Nächste Schritte