中台架构利器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 @   向着朝阳  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示