使用SOFA实现多模块部署(一)

使用SOFA实现多模块部署(一)

legegeCoder 562 2021-05-26

从前

写了一个新的模块要想可以使用,肯定是maven配置一下再重新部署。

问题

  • 有没有什么方法可以不重新启动应用就能使模块生效呢
  • 如果多模块都是springboot应用,端点可以暴露在同一个port里吗?

方案

答案肯定是可以的,这几天公司在整活动平台,就是拖拖拽拽生成一个活动。后端模块方案当时就遇到了上面两个问题,后来调研选择了阿里的SOFA。

流程:

  1. 启动宿主应用
  2. 宿主应用监听ZK,通过zknode下发命令如
plugin-three:1.0.1:activated?bizUrl=https://static.l2yy.cn/jar/app-three-1.0.0-ark-biz.jar

宿主应用自动装载模块。
3.插件继承了springboot的内置Tomcat,从而将模块端点暴露在一个port中。


# sofa