本文最后更新于 321 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
项目发布方案
一、蓝绿发布
项目逻辑上分为AB组,在项目升级时,首先把A组从负载均衡中摘除,进行新版本的部署。B组仍然继续提供服务。A组升级完成上线,B组从负载均衡中摘除。
特点:
- 策略简单
- 升级/回滚速度快
- 用户无感知,平滑过渡
缺点:
-
需要两倍以上服务器资源
-
•短时间内浪费一定资源成本
二、灰度发布
灰度发布:只升级部分服务,即让一部分用户继续用老版本,一部分用户开始用新版本,如果用户对新版本没有什么意见,那么逐步扩大范围,把所有用户都迁移到新版本上面来。
特点:
- 保证整体系统稳定性
- 用户无感知,平滑过渡
缺点:
- 自动化要求高
三、滚动发布
滚动发布:每次只升级一个或多个服务,升级完成后加入生产环境,不断执行这个过程,直到集群中的全部旧版升级新版本。
特点:
- 用户无感知,平滑过渡
缺点:
- 部署周期长
- 发布策略较复杂
- 不易回滚