java - 如何更新/升级 Spring Boot 云应用程序

标签 java spring spring-boot microservices

我想找出在生产中更新 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/

相关文章:

java - 在应用程序启动屏幕上输出一条消息,但只希望它在第一次查看此页面时出现(java)

java - Firebase Auth - 复制修改后的用户登录名/电子邮件

java - 基础 Controller SpringMVC

java - Spring 使用 new 创建的对象开始事务

java - Jackson 将 Map 合并到 json 对象中

java - 如何防止用户从 android studio 中的键盘输入特定字符?

java - Apache Storm - 从 Config 读取 YAML 列表

spring - @PreAuthorize 和 hasPermission() 执行代码两次

angular - 将字符串类型从 Spring Boot 返回到 Angular

java - Springboot ErrorPageFilter 问题