在多数互联网应用的场景下,用户是不间断访问的,所以应用的更新升级不能像传统项目那样停机重启,而是使用更加平滑的方式
原理
蓝绿发布实质上是靠冗余一套环境作为备用,在要发布新版本时,将新版先发布到备用环境上,测试没有问题,将正式环境的流量切换到备用环境,主备切换过来,完成应用的平滑升级。在切换后如果发生错误,可以很快将流量再切入到生产环境上,安全性大大提升。
优点
- 蓝绿发布最大的好处就是在升级出错时,可以很快速的回滚到原先的环境上
- 系统升级时不需要停机重启,用户几乎无感知
缺点
- 蓝绿发布要说最大缺点就是冗余一套环境
- 其他的缺点个人认为压根是场景不适用导致的
注意事项
- 服务必须是无状态服务,如果是有状态的场景在来回切换时会出现数据的不一致,所以通常建议使用分布式存储
- 在进行切换时需要考虑线上正在处理的业务,方案可以是分批导流,对一部分用户进行服务降级,切换到另一个环境上,或者场景允许的话可以在半夜用户量极少时完成切换
网友评论