中台架构利器SPI

定义

SPI(Service Provider Interface):由中台提供系统定义Interface,基于能力能支持的扩展逻辑定义好接口。由业务BP实现Interface,进行个性化扩展业务逻辑计算。SPI的形式对修改封闭、对扩展开放,业务逻辑相对可控。

SPI设计要点

热部署和动态加载技术可以减少停机时间

这对生产环境尤为重要。类加载器隔离、OSGi框架或者JVM的动态代理技术都可能被用到。同时,日志和监控的独立处理可以帮助排查问题,而无需影响整个中台系统。

远程扩展点加载

SPI的要求,有三种形式:1、本地扩展点加载。2、本地扩展点动态加载。3、远程扩展点加载

插件生态建设,设计插件市场或仓库,方便开发者发布和获取插件。

插件版本管理和依赖冲突解决机制也是必须考虑的,避免插件之间的兼容性问题。

插件安全管理

沙箱机制和权限校验必不可少。

运行时监控和熔断机制可以防止插件故障影响整个系统。

SPI隔离,通过租户ID或标签或业务身份限制钩子的可见性,避免跨业务线污染:

开源SPI框架

1 https://www.ryu.xin/category/lattice/
2 cola SPI

参考资料

https://developer.jdcloud.com/article/2649

https://www.ryu.xin/2021/08/13/tmf2-design-summary/

COLA 扩展点设计
https://blog.csdn.net/yangyanping20108/article/details/134968496

posted @ 2025-03-05 17:48  向着朝阳  阅读(57)  评论(0)    收藏  举报