使用 Eventarc 创建事件驱动型架构
您可以使用 Eventarc 和 与 MongoDB 兼容的 Firestore 来构建 事件驱动型架构。 与 MongoDB 兼容的 Firestore 的 Eventarc 触发器会根据数据库中特定文档的更改生成事件。触发器可以将事件路由到 受支持的目标位置:
- Cloud Run functions(第 2 代),支持 Cloud 客户端库和 Firebase SDK
- Cloud Run
- Google Kubernetes Engine
- Workflows
Eventarc 提供了一个用于管理解耦的微服务之间的 状态更改(称为“事件”)流的标准化解决方案。触发后,Eventarc 会将这些事件路由到各个目标位置,同时为您管理传送、安全、授权、可观测性和错误处理。
限制
对于与 MongoDB 兼容的 Firestore 的 Eventarc 触发器,请注意以下限制:
- 无法保证顺序。快速更改可能会以无法预料的顺序触发事件。
事件至少传送一次。
请确保您的事件处理脚本是幂等的,并避免在事件传送多次时产生意外结果或副作用。如需了解详情,请参阅 构建幂等函数。
一个触发器与单一数据库相关联。您无法创建与多个数据库匹配的触发器。
删除数据库不会自动删除该数据库的任何触发器。触发器会停止传送事件,但会继续存在,直到您删除触发器。如果重新创建数据库,则还需要删除并重新创建任何关联的触发器,以恢复事件传送。
与 MongoDB 兼容的 Firestore 支持 Cloud Run functions(第 2 代),但不支持 Cloud Run functions(第 1 代)。
Firestore 企业版数据库不支持 Datastore 实体事件类型。
事件载荷中不包含大于 10 MiB 的文档。 如需检索版本化文档,请使用 时间点恢复读取时间。
后续步骤
- 了解事件驱动型架构。