前提:

生产环境下的springCloud服务,修改bug或是新功能部署上线,而又不想要影响到线上体验的情况,提出了生产环境不停服务进行服务热部署。

方案:

1.curl -G http://localhost:9021

查看现在服务情况,返回结果:

2.保证两个状态都为UP的情况下,执行命令先奖其中一个需要替换重启的服务从eureka注消下线

curl -X PUT -i http://172.17.0.10:9021/eureka/apps/PAYMENT-SERVICE/cxm-web-01:payment-service:9621/status?value=OUT_OF_SERVICE

这个状态将被设置为OUT_OF_SERVICE,再等待一分钟左右,保证所有的请求路由到另一个服务上,然后执行kill kid杀掉该进程

3.服务重启成功后执行命令

curl -X PUT -i http://172.17.0.10:9021/eureka/apps/PAYMENT-SERVICE/cxm-web-01:payment-service:9621/status?value=UP

保证两个服务都正常启动然后可以关掉一个备用服务或重复执行操作重启另一个服务实现负载

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐