一、项目发布的方式
1.蓝绿发布:项目在逻辑上分为AB组,在进行项目升级时,首先将A组从负载均衡中摘除进行新版本的部署,B组仍然继续提供服务,A组升级完成上线B组从负载均衡中摘除
特点:
策略简单
升级回滚速度快
用户无感知,平滑过渡
缺点:
需要两倍以上的服务器资源且短时间内浪费一定的资源成本
2.灰度发布(金丝雀发布):只升级部分的服务,让一部分用户继续使用老版本另外一部分使用新版本,如果用户对新版本没什么问题那么九逐步扩大范围,把所有用户都迁移到新版本上
特点:
保证整体系统的稳定性
用户无感知平滑过渡
缺点:对自动化的要求比较高
3.滚动发布:每次只升级一个或者多个服务,升级完成后加入生产环境,不断执行这个过程知道集群的旧版本全部升级成新版本
特点:
用户无感知,平滑过渡
缺点:
部署周期长且发布策略复杂不易回滚