首页 > 解决方案 > 为 Spring Boot 应用程序部署新功能的最佳实践是什么?

问题描述

我有一个用户太多的 Spring Boot 应用程序,并且我的应用程序有很多传入请求,我应该怎么做才能将新功能部署到应用程序而不会丢失传入的用户请求并实际中断应用程序对客户端的可用性?我想了解我的问题的最佳做法。

标签: javaspring-boothigh-availabilitysre

解决方案


请注意部署策略取决于您的应用程序的性质。

对于像您提到的蓝色/绿色或金丝雀这样的情况会很有用。

部署策略分类的各种方式,下面是这样一种分类。

  • 重新创建:版本 A 终止,然后推出版本 B。

  • Ramped(也称为滚动更新或增量):版本 B 正在缓慢推出并替换版本 A。

  • 蓝色/绿色:版本 B 与版本 A 一起发布,然后流量切换到版本 B。

  • 金丝雀:版本 B 发布给一部分用户,然后继续全面推出。A/B 测试:版本 B 在特定条件下发布给一部分用户。

  • 影子:版本 B 与版本 A 一起接收真实世界的流量,并且不影响响应。

参考链接 - https://thenewstack.io/deployment-strategies/


推荐阅读