java - 为 Spring Boot 应用程序部署新功能的最佳实践是什么?
问题描述
我有一个用户太多的 Spring Boot 应用程序,并且我的应用程序有很多传入请求,我应该怎么做才能将新功能部署到应用程序而不会丢失传入的用户请求并实际中断应用程序对客户端的可用性?我想了解我的问题的最佳做法。
解决方案
请注意部署策略取决于您的应用程序的性质。
对于像您提到的蓝色/绿色或金丝雀这样的情况会很有用。
部署策略分类的各种方式,下面是这样一种分类。
重新创建:版本 A 终止,然后推出版本 B。
Ramped(也称为滚动更新或增量):版本 B 正在缓慢推出并替换版本 A。
蓝色/绿色:版本 B 与版本 A 一起发布,然后流量切换到版本 B。
金丝雀:版本 B 发布给一部分用户,然后继续全面推出。A/B 测试:版本 B 在特定条件下发布给一部分用户。
影子:版本 B 与版本 A 一起接收真实世界的流量,并且不影响响应。
推荐阅读
- com - 虚拟机。捕获 COM 错误
- javascript - Mapbox GL JS - 删除图像叠加的淡入淡出
- arrays - 回显包含带有空格的元素的数组作为另一个命令的参数
- php - 如何通过从数据库中检索的查询值更改某些行的颜色
- javascript - 我想使用 JavaScript 将文本框保存到 HTML 中的 .txt 文件,但出现错误
- spring-boot - Flyway - 多个数据库上的数据迁移 - Spring Boot
- javascript - 使用javascript在codeigniter中设置会话
- wordpress - 我们可以有超过 2 个下划线的 wordpress 表名吗
- javascript - 使用onchange函数jquery传递varibel
- javascript - 是否有某种方法可以在没有日志记录的情况下为同一页面创建不同的使用权限?