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.