Plugin SDK v1.0.0

稳定契约,独立进程。

为 Source、Processor、Sink 和 Connector 提供统一 Go API、进程间通信、运行时能力与兼容性治理。

主要功能

能力用途
统一 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 与健康上报示例。