使用 Eventarc 创建事件驱动型架构
您可以使用 Eventarc 和 Firestore 构建事件驱动型架构。 适用于 Eventarc 的 Firestore 触发器根据数据库中特定文档的更改生成事件。触发器可以将事件路由到支持的目的地:
- 支持 Cloud 客户端库和 Firebase SDK 的 Cloud Functions (第 2 代)
- Cloud Run
- Google Kubernetes Engine
- Workflows
Eventarc 提供了一种标准化解决方案,用于管理分离的微服务之间的状态更改流,称为“事件”。触发后,Eventarc 会将这些事件路由到各种目的地,同时为您管理传递、安全、授权、可观测性和错误处理。
预览版限制
以下限制适用于此功能的预览:
Eventarc 和 Firestore 位置
Eventarc 不支持适用于 Firestore 事件触发器的多区域位置,但您仍然可以为多区域位置中的 Firestore 数据库创建触发器。Eventarc 将 Firestore 多区域位置映射到以下 Eventarc 区域:
Firestore 多区域 | Eventarc 区域 |
---|---|
nam5 |
us-central1 |
eur3 |
europe-west4 |
Cloud Functions(第 2 代)与第 1 代之间的区别
Cloud Functions (第 2 代)会为所有运行时使用 Eventarc 事件。以前,Cloud Functions(第 1 代)仅为部分运行时使用 Eventarc 事件。Eventarc 事件与 Cloud Functions(第 1 代)存在以下差异。
适用于 Eventarc 的 Firestore 触发器还支持 Cloud Functions 之外的其他目标。您可以将
CloudEvents
路由到多个目标,包括但不限于 Cloud Run、GKE 和 Workflows。适用于 Eventarc 的 Firestore 触发器在数据库写入操作开始时检索触发器定义,并使用该定义来确定 Firestore 是否应发出事件。写入操作不会考虑运行期间可能发生的触发器定义发生的任何更改。
Cloud Functions(第 1 代)会在数据库写入评估期间检索触发器定义,并且在评估期间更改触发器可能会影响 Firestore 是否发出事件。
后续步骤
- 了解事件驱动型架构。