原文网址:SpringBoot项目--如何不停服更新应用?_IT利刃出鞘的博客-CSDN博客
说明
本文介绍Java后端项目如何不停机更新服务。
在生产环境中,一般都会每个服务部署多个实例。只要多于1个实例,就可以不停服更新应用。
不停服更新应用的作用
需求
本文假设解决此问题:微服务user有两个实例:user1和user2,需要在保证user服务不中断的情况下更新user服务。
说明
Nacos可以配置实例的权重,如果权重改为0,则不会调到这个实例。
不停服更新应用的流程
注意
修改完之后,所有网关的请求都会转发到权重不为0的实例上边,但feign请求还是会到达权重为0的实例上边。
解决方法:需要修改feign的负载均衡器(ribbon或者loadbalancer),将其改为从Nacos获得实例,根据权重选择实例。
说明
此中间件支持强制将请求转发到指定的实例。见:router4j · 语雀
不停服更新应用的流程