SuperAPI AI 工具集

event-driven-architecture-on-google-cloud

数据与分析

查看项目

更新于 10-15 21:36

技能介绍

用途:描述一种以编排为主、而非重计算的应用形态——用户提交数据,几步处理后返回浏览器。全部选择围绕解耦、无状态、事件驱动三个属性,并指明每项工作由哪个服务承担。

主要能力与分工:Workflows 是编排器,负责步骤顺序、调用各服务、失败重试,最长可运行一年,其定义是流程的唯一事实来源,并在自身保存编排状态。Cloud Run 负责运行代码,服务响应 HTTP 且可缩容到零,作业跑批,工作池从队列拉取但不自动扩缩,函数是同一引擎包单个触发器;均应视为无状态工作单元。Gemini 经 Vertex AI 调用,可由工作流用 Vertex AI 连接器直接调用,或由 Cloud Run 用服务账号凭据调用、无需 API 密钥;只有围绕调用的逻辑超出工作流语言时才改用 Cloud Run。Pub/Sub 是异步总线,一次发布每个订阅者各得一份,用于扇出、吸收流量峰值和传递自有领域事件。Eventarc 把 Google Cloud 服务中的变更转为触发器并管理 Pub/Sub 管道;需要扇出、缓冲或自有事件时直接用 Pub/Sub。Cloud Tasks 把单个工作单元派发到一个端点,支持每任务调度与队列速率限制,用于延迟与限流。Firestore 是面向浏览器的实时桥,浏览器对文档开一个监听即可收到后续每次更新。Cloud SQL for Postgres 或 AlloyDB 是关系型记录系统,位于工作流之后,绝不面向浏览器;BigQuery 处理重型分析;Memorystore for Redis 存临时状态(缓存、会话、幂等键),故障切换可能丢失已确认写入,勿存必须持久的数据。

结果返回浏览器:浏览器获取数据只有三种方式——HTTP 响应、保持打开的连接、实时数据库监听;Pub/Sub 与 Eventarc 只在后端服务间传递事件,都到不了浏览器,返回路径因此是独立关注点。推荐异步模式:浏览器把请求文档写入 Firestore,Eventarc 侦测到新文档并启动工作流、将事件作为参数传入,工作流执行各步骤(含调用 Gemini),通过 Firestore 连接器把状态与结果写入第二个文档,已在监听的浏览器随即渲染每次更新,无需轮询,也不用为整个作业时长保持连接。请求与结果要写入不同集合,否则工作流自身写入会无限触发。

认证与授权:存在两个互不混合的身份平面。用户面用 Firebase Authentication,需要单点登录、多因素或多租户时用 Identity Platform;登录返回含用户 ID 与自定义声明的签名令牌,Firestore 安全规则据此判定可访问内容,这是直接数据库访问的完整用户授权层,无需服务器代码。服务面中每个组件以持有 IAM 角色的服务账号运行,令牌自动流转(Google API 用 OAuth,Cloud Run 用 OIDC)。两面在 Firestore 交汇:后端绕过安全规则,规则守浏览器的直接访问,IAM 守后端的一切,故工作流可写入用户仅有权读取的结果,用户无法伪造。

不必要时的取舍:基本流程只需 Firebase Authentication、Firestore、Eventarc、Workflows 与 Gemini;需要扇出或缓冲再加 Pub/Sub,数据转为关系型再加 Postgres,必须限流再加 Cloud Tasks,某步超出工作流语言再加 Cloud Run 工作单元——问题出现时再引入,不必提前。适用场景与限制:适合编排为主的事件驱动无服务器应用;该资料未提供收费、价格、性能数据或具体代码示例。分类:agents(智能体与模型)。