主要功能
| 能力 | 用途 |
|---|---|
| 统一 Plugin 接口 | Source、Processor、Sink 共享 Init、Start、OnEvent、OnEvents、Stop 生命周期 |
| ServeFactory | 一个插件包进程承载多个相互隔离的规则实例 |
| Batch RPC | 批量事件与日志缓冲,降低跨进程开销 |
| RuntimeContext | 提供 Emitter、Logger、Metrics、State、Health 与 Connector 访问 |
| Connector SDK | 资源创建、执行、流、探测与状态广播 |
| 结构化错误 | 用稳定错误类别区分重试、配置、超时与未实现 |
事件所有权
Event.Clone() 深拷贝 Metadata 和支持的可变 Payload 容器。插件发布后不得继续修改已交给 Emitter 的事件;需要分支或异步处理时,先克隆并让每个任务独占自己的 Event。
Payload 约束优先使用 JSON 兼容类型。
[]byte、json.RawMessage 和常用切片由 Clone 复制底层存储,避免跨任务共享。v1 兼容承诺
SDK 以 contract_v1.json、public_api.json 和生成的公共 API 文档冻结 Go API 与 RPC 线协议。v1.0.0 起三年内不做破坏性大版本变更;新增能力保持向后兼容,弃用先提供迁移期。
- 接口方法集、结构字段与标签纳入契约测试。
- 握手、RPC 方法、错误编码与 schema 纳入兼容门禁。
- 普通测试、race、vet 与示例构建组成发布检查。
开始开发
阅读Processor 完整示例,或直接查看仓库中的 Source、Processor 与健康上报示例。