中台架构利器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

浙公网安备 33010602011771号