我想找出在生产中更新 Spring Boot 应用程序而不影响调用这些微服务的客户端的最佳方法是什么?
spring boot 应用程序使用 Consul 进行服务注册。
因此,停止 spring boot 应用程序将关闭该服务,并且客户端将无法调用该服务,直到它再次启动并向 Consul 注册自己。
这只是它应该工作的方式,还是有一种解决方法可以将停机时间减少到 0?对于例如启动更新版本的spring boot应用程序(在这种情况下,Consul下将注册2个服务器,1个旧版本,1个新版本),然后杀死旧版本。
最佳答案
生产系统通常采用 滚动更新 逐步升级/降级服务以实现 ZDD(零停机时间部署)的策略。
编排框架(如 Kubernetes)内置了此功能:
Rolling Updates in Kubernetes
关于java - 如何更新/升级 Spring Boot 云应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35408768/