前言
应用程序的更新发布,如何降低对用户的影响面,人们研究出了几种发布策略。
更新历史
- 20200720 - 初稿 - 左程立
- 原文地址 - https://blog.zuolinux.com/2020/07/20/how-to-deployment.html
蓝绿部署
流程
准备 A/B 两个集群,运行相同的程序。
在项目升级时,首先把 A 集群从负载均衡中移除,进行新版本的部署。
B 集群仍提供服务。
A 集群升级完成后加入负载均衡,B 集群从负载均衡中移除。
优点
平滑发布,不会因发布导致服务中断,策略简单,回滚速度快,用户无感知
缺点
消耗资源,硬件成本高,需要两倍以上服务器资源。
滚动部署
流程
先启动一台新服务器运行新版本,加入生产环境。
然后停止一台老版本服务器,将其更新为新版本,然后加入生产环境。
依此类推,直到集群中全部服务器升级为新版本。
优点
解决了蓝绿发布成本高的问题。如果业务需要 10 台服务器,那么升级中一共有 11 台服务器即可。
缺点