Catalyst Signals 是 Zoho Catalyst 平台中的事件驱动架构服务,目标是在解耦的应用之间实现近乎即时的通信。它支持 Zoho 发布者、Catalyst 发布者与自定义发布者,并将事件路由到 Webhook、函数或 Circuits 等目标。
用途 Signals 用于构建事件驱动架构:当某个动作发生时,发布者发出事件,规则将事件连接到目标,从而实现应用之间的解耦通信。
主要能力
- 发布者(Publishers):在动作发生时发出事件,共有三种类型:Zoho、Catalyst CloudScale、Custom。
- 事件(Events):JSON 载荷,具有自动生成的 schema。Zoho 发布者单事件最大 100KB(多事件批量为 5MB);自定义发布者单事件最大 64KB(最多 25 个事件时为 256KB)。
- 规则(Rules):将发布者连接到目标,可附带可选的过滤器和载荷转换。
- 目标(Targets):通过 Webhook、函数(Functions)或 Circuits 接收事件。
- 分发策略(Dispatch Policy):控制事件投递方式,包括 Instant(默认,立即投递)或 Batch(按数量/大小/计划/属性;TTL 固定为 24 小时)。"One-Time Dispatch" 不是一种策略,而是当 Batch 条件在 TTL 到期前始终未满足时触发的无重试回退投递。
使用方式
- 前置条件:每个项目需在控制台一次性激活 Signals。路径为:Console → 你的项目 → Signals(左侧边栏)→ 点击 "Start Exploring"。跳过此步骤将无法访问 Publishers、Webhooks、Rules 和 Logs。
- 该服务仅通过控制台配置:没有用于创建发布者、规则或 Webhook 的 SDK、REST API 或编程接口。发布者、事件、Webhook 和规则均在 Console → Signals 中创建;函数和 Circuits 在 Console → Serverless 中单独创建,然后在 Signals 规则中选为目标。
- 唯一的代码级交互是在目标函数或 Circuits 中接收事件。
- 整体流程:Publisher → Event → Rule(带过滤器/转换)→ Target(Webhook/Function/Circuit)。
适用场景 适用于需要在解耦应用之间进行事件驱动通信的场景,例如将 Zoho 应用或 Catalyst 服务中的动作事件路由到 Webhook、函数或 Circuits,并通过规则进行过滤与转换。
限制与注意事项
- 仅控制台服务:如果用户期望使用 SDK 或 API,则无法满足,因为不存在用于创建发布者、规则或 Webhook 的编程接口。
- 部署警告:规则在生产环境中被锁定(只能启用/禁用)。所有规则变更必须在 Development 中进行并部署。每次部署最多 25 个发布者。
- 安全清单:自定义发布者 REST API 速率限制为每分钟 500 个请求,超出后 API URL 会被锁定 60 秒;自定义事件 REST API URL 在 Development 与 Production 之间不同,部署时需更新 URL;函数/Circuit 目标继承其自身权限,Signals 不会覆盖函数级权限;事件载荷大小限制如上所述。
- 关于事件排序、重试策略、事件状态、日志、仪表板等更多细节,资料中提及可加载 references/signals-basics.md 参考文件,但未提供其具体内容。