悉思插件系统声明式与程序形态正式上线

悉思插件系统声明式与程序形态正式上线

1024KB1024KB 悉思动态 2026-09-01 09:00:00 浏览 87205 字数 1240

悉思插件系统正式上线,一次性提供声明式与程序形态两种实现,覆盖从零代码转发到多语言自定义逻辑的完整需求区间。插件系统以单一配置文件声明路由、配置项与形态,加载失败只影响单个插件或单条路由,主程序运行不受牵连。

两种形态对应两类需求

声明式形态面向配置即完成的需求,路由转发、静态资源托管、参数改写都由声明完成,不引入任何可执行代码;程序形态面向需要自定义逻辑的需求,内核以标准输入输出行协议与子进程通信,支持任意语言编写的可执行程序。

对比项声明式形态程序形态
代码量零代码自选语言实现
通信方式内核内部转发标准输入输出行协议
并发模型复用内核处理进程池加实例弹性伸缩
适用场景转发、托管、参数改写自定义业务逻辑、外部系统对接

两种实现共用同一套路由声明与配置项定义,插件可以从声明式起步,需要自定义逻辑时再切换实现方式,配置结构保持不变。路由的请求方法、超时与状态在清单中声明,管理面板按声明渲染路由列表,运行时按声明执行限流与超时判断。

网关复用主程序中间件链

插件请求在进入业务逻辑前先经过主程序的中间件链,安全防护、访问控制、请求日志与统计的判定逻辑与主程序完全一致。插件作者不需要重复实现鉴权与防护,插件路由也不会成为绕过安全策略的旁路。

路由表采用不可变快照加原子指针替换的方案。插件启停或配置变更时先生成新快照再整体切换,读取侧始终看到一份完整路由表,运行中的请求不会因为加载动作出现路由命中的中间状态。

程序实现形态的通信与并发

程序实现形态的通信契约为标准输入输出行协议,请求参数经输入通道送入子进程,响应经输出通道返回。进程池按路由配置维护实例,空闲实例自动缩容、高峰自动扩容,实例编号由池级分配器统一发放,补足与扩容不会出现编号冲突。

  • 就绪握手:子进程启动后输出一次就绪行,内核确认后才投放请求。
  • 能力协商:子进程声明支持的通道能力位,内核按成员判断决定可用通道。
  • 热更新:替换程序文件后由指纹巡检发现变化并重启实例,无需重启主程序。

通信层的处理细节经过一轮优化:响应内容超过阈值时改走落盘通道,避免大响应占用内存;编码与转码阶段引入复用池,长时间运行的实例内存曲线保持平稳;管道缓冲按平台上限配置,跨平台行为一致。

可用性保护与验收结论

插件加载、启动与运行三个阶段都设有保护:加载阶段校验配置文件与路径安全,失败只跳过该插件;启动阶段设超时与握手判定,无法就绪的实例被回收;运行阶段限制路由响应时间,超时请求按配置返回错误而不拖住内核。

插件系统的验收按分组执行:声明式形态组全部用例通过,程序形态与安全回归组全部通过,配置校验、冲突检测与保留路径判定均有对应用例覆盖。插件与主程序共用同一套热更新巡检周期,配置调整无需重启进程,插件目录整体复制即可完成迁移。

开始使用插件

  1. 在站点插件目录下建立插件文件夹,按标准填写单一配置文件。
  2. 在管理面板的插件区域确认插件已加载、路由条数与实例状态正常。
  3. 访问插件路由验证响应,再按需调整配置项取值。
分享到:

评论

加载中...
我
还没有评论,快来抢沙发吧~