借助 Eventarc,您可以构建事件驱动型架构,而无需实现、自定义或维护底层基础架构。
Eventarc 有两个版本:Eventarc Advanced 和 Eventarc Standard。
这两种版本都提供可伸缩、无服务器且全代管式的事件解决方案,可让您使用松散耦合的服务(这些服务会由状态变化触发并对状态变化做出响应,称为“事件”)异步将消息从来源路由到目标。这两种版本都支持各种事件提供程序和目的地(包括 Google Cloud 服务、自定义应用、SaaS 应用和第三方服务),同时为您管理传送、安全、授权、可观测性和错误处理。
请注意,这两种版本的 Eventarc 的底层数据模型是相同的。随着用例变得越来越复杂,您可以选择从使用 Eventarc Standard 无缝过渡到使用 Eventarc Advanced。
版本概览
下面简要介绍了这两种版本。如需了解更多详情,请参阅 Eventarc Advanced 概览和 Eventarc Standard 概览。
- Eventarc Advanced
Eventarc Advanced 是一个全代管式平台,用于构建由事件驱动的架构。借助它,您可以收集系统中发生的事件,并将其发布到中央总线。感兴趣的服务可以通过创建注册来订阅特定消息。您可以使用该总线实时路由来自多个来源的事件,并将其发布到多个目的地,还可以选择在将事件传送到目标之前对其进行转换。 Eventarc Advanced 功能丰富,非常适合具有复杂事件和消息传递需求的组织,特别是那些难以管理众多 Pub/Sub 主题、Kafka 队列或其他第三方消息传递系统的组织。Eventarc Advanced 为管理员提供了增强型集中式可见性和控制功能,让组织能够跨不同项目连接多个团队。
- Eventarc Standard
对于仅专注于将事件从事件提供方传送到事件目的地的应用,建议使用 Eventarc Standard。借助它,您可以通过定义触发器来快速轻松地使用 Google 事件,这些触发器会根据传入事件的来源、类型和其他属性进行过滤,然后将其路由到指定目的地。
功能对比表
下表可帮助您在 Eventarc Advanced 和 Eventarc Standard 之间进行选择。本文假定您熟悉事件驱动型架构的基本概念。功能 | Eventarc Advanced | Eventarc Standard |
---|---|---|
访问权限控制 | 使用 IAM 实现按消息访问权限控制和集中治理 请参阅使用 IAM 进行访问权限控制 |
请参阅使用 IAM 进行访问权限控制 |
容量 | 自动供应 | 自动供应 |
客户端库语言 | Java、Python、Go、Node.js、C++、C#、PHP、Ruby 查看 Eventarc 客户端库 |
Java、Python、Go、Node.js、C++、C#、PHP、Ruby 查看 Eventarc 客户端库 |
合规性标准 | 不适用于预览版中的任何功能 | 请参阅合规性标准 |
跨项目事件传送 | 受支持 请参阅发布来自 Google 来源的事件 |
不支持 |
客户管理的加密密钥 | 是 请参阅使用客户管理的加密密钥 |
是 请参阅使用客户管理的加密密钥 |
支持死信队列 | 否 | 是,通过 Pub/Sub 死信主题 查看重试事件 |
事件格式 | 事件以 CloudEvents 格式传送到目的地 查看事件格式 您可以选择通过定义 HTTP 绑定来替换此行为 |
事件以 CloudEvents 格式传送到目的地 请参阅事件格式 |
事件大小 | 上限为 1 MB 请参阅配额和限制 |
不得超过 512 KB 请参阅配额和限制 |
位置 | 请参阅 Eventarc Advanced 位置 | 请参阅 Eventarc Standard 位置 |
消息过滤 | 按所有事件属性过滤 | 按事件类型和特定属性过滤 |
信息路由 | 多个提供方对多个目的地 |
提供程序到目的地 |
消息架构转换 | 是 请参阅转换收到事件的格式 |
否 |
消息转换 | 可以,通过 CEL 表达式 查看转换收到的事件 |
否 |
可观测性 | 通过 Google Cloud Observability(例如 Cloud Logging 和 Cloud Monitoring) 查看 Eventarc 审核日志记录 |
通过 Google Cloud Observability(例如 Cloud Logging 和 Cloud Monitoring) 查看 Eventarc 审核日志记录 |
有序传送 | 不保证按顺序的先进先出传送 | 不保证按顺序的先进先出传送 |
价格 | 请参阅 Eventarc 价格 | 请参阅 Eventarc 价格 |
区域性 | 地区性 请参阅了解地区性 |
区域级、全球性 请参阅了解 Eventarc 位置 |
REST 端点 | https://eventarc.googleapis.com 请参阅 Eventarc API https://eventarcpublishing.googleapis.com 请参阅 Eventarc Publishing API |
https://eventarc.googleapis.com 请参阅 Eventarc API |
重试和保留 | 向目标至少传送一次事件;默认消息保留时长为 24 小时,具有指数退避算法延迟 请参阅重试事件 |
向目标至少传送一次事件;默认消息保留时长为 24 小时,具有指数退避算法延迟 请参阅重试事件 |
服务限制 | 每个 Google Cloud 项目一个数据总线 每个 Google Cloud 项目每个区域 100 个数据流水线 请参阅配额和限制 |
每个 Google Cloud 项目在每个位置有 500 个触发器 查看配额和限制 |
使用 VPC Service Controls 的服务边界 | 是 请参阅使用 VPC Service Controls 设置服务边界 |
是 请参阅使用 VPC Service Controls 设置服务边界 |
支持的来源 | Google 提供方 使用 Eventarc Publishing API 的直接发布商 请参阅事件提供方和目的地 |
Google 提供方 通过审核日志的 Google 提供方 第三方提供方 请参阅事件提供方和目的地 |
支持的目标 | Cloud Run functions(包括第 1 代) Cloud Run 作业和服务 Eventarc Advanced 总线 VPC 网络中的内部 HTTP 端点 Pub/Sub 主题 工作流 请参阅事件提供程序和目的地 |
Cloud Run 函数 Cloud Run 服务 VPC 网络中的内部 HTTP 端点 私有和公共 GKE 服务的公共端点 工作流 查看事件提供方和目的地 |