Skip to content

插件开发

插件用于承载“高变化、高定制、高风险”的能力,让核心保持稳定、可升级、可维护。

典型插件类型:

  • 北向连接器:Kafka/Pulsar/ThingsBoard 等平台对接
  • 转换/增强:字段映射、聚合、告警、边缘计算、规则引擎
  • 行业能力:行业协议变体、行业模型、行业告警策略

插件边界(Best Practice)

插件应当:

  • 消费/产出 统一数据模型 或标准事件
  • 通过清晰的配置 schema 暴露参数(并支持版本化)
  • 把资源(连接、缓存、线程/任务)限定在插件内部,可被统一回收

插件不应当:

  • 直接修改 core 的全局状态(除非通过明确的扩展接口)
  • 在关键路径引入无界缓存或不可控的阻塞调用

隔离与稳定性

  • 故障隔离:插件崩溃/异常不应拖垮主进程(至少要可降级/可重启)
  • 背压协作:插件输出进入 core 的有界管线,避免“插件无限吐数据”
  • 错误语义:错误需带上下文(插件名、版本、配置 key、依赖端点)

配置与版本化

建议每个插件:

  • 定义稳定的 plugin_idschema_version
  • 兼容旧配置(或提供迁移工具/指南)
  • 对外暴露最少但足够的关键参数(超时、并发、队列容量、重试)

下一步阅读

基于 MIT 许可发布.