Closed
Description
北极星插件的开发规范及开发指南
- 北极星当前的插件架构设计
- 分为核心模块插件以及旁路功能插件
- 与服务端同进程运行,插件定义基于 go 的 interface
- 插件的注册依赖于 go 的 init 机制
- 每个插件的名称全局唯一
- 每个插件都必须是一个单例的,需要插件自行保证并发场景下的安全性
- 插件需要和服务端一同编译
- 存在的问题
- 第三方插件代码的稳定性需要贡献者保证,插件更新不及时可能会影响北极星主体程序的稳定
- 主仓库代码维护的工作量变大
- 插件无法自己控制版本更新
- 用户用不上这些插件,但是正式 release 版本会连带这些第三方插件一并构建编译
- 后期计划的优化措施
- 第三方插件单独项目组织进行维护,方便插件独立进行版本迭代
- 优化插件化机制,支持编译时候自动生成关联插件 #671
Originally posted by @chuntaojun in #753 (comment)