一条典型规则
Data flow
Connector Resource: cnc107-s7
↓ bind
Source: source-s7
↓ Event
Processor: detect-change
↓ changed Event
Sink: sink-mqtt → v1/gateway/cnc/telemetry规则节点只引用 Connector Resource,不复制主机、端口或凭证。资源配置变更有独立生命周期,并能进行引用检查。
事件结构
JSON
{
"id": "event-id",
"timestamp": "2026-10-26T10:00:00Z",
"payload": {
"device_code": "cnc107",
"data": { "total_output": 1201 },
"time": 1792980000000
},
"metadata": { "trace_id": "..." }
}payload 应使用 JSON 兼容类型。运行时调度信息不放入业务 metadata;引擎在分支调度和插件边界克隆事件,避免并发共享可变 map。
编排步骤
- 安装并启用所需插件。
- 为设备或服务创建 Connector Resource。
- 添加 Source、Processor 与 Sink,并配置有向边。
- 校验、保存并发布不可变规则版本。
- 部署该版本,观察运行态指标和节点错误。
分支与失败
一个节点可连接多个下游。每个调度任务持有独立 Event;任一分支修改 Payload 或 Metadata 不会污染其他分支。节点失败写入运行态错误与指标,不能依赖 panic recovery 处理 Go 并发 map fatal error。