常见部署方式:蓝绿、滚动、灰度、金丝雀

246 阅读2分钟

蓝绿发布

蓝绿发布中,一共有两套系统,一套是正在提供服务系统,标记为绿色;另一套是准备发布的系统,标记为蓝色,两套系统都是功能完善的,并正在运行,知识系统版本和对外提供的服务不同。

蓝色系统不对外提供服务,用来做发布前的测试,测试过程中任何问题 ,可以直接修改,但不会影响用户的使用;经过反复的测试、验证通过后,达到上线的标准,可以直接将用户切换到蓝色系统上,切换后,并行一段时间,如果发现异常,则快速进行回滚,运行一段时间,没有问题,可以将原有的绿色系统的资源进行释放,用于部署下一个蓝色系统。

image

滚动发布

滚动发布,一般将应用池对一个或多个服务器停止服务,执行更新,并将其重新投入使用,不断的循环,直到全部的服务器全部升级完成。

灰度/金丝雀

灰度发布又称为金丝雀发布,让一部分用户使用A版本,一部分用户使用B版本,如果使用B版本的没有问题,则扩大范围,将所有的用户切到B版本上。

灰度发布的流程

  • 准备和生产环境隔离的服务器组(A)
  • 将新的版本部署到隔离的服务器组(A)
  • 对隔离的服务器(A)进行自动化和人工测试
  • 测试通过后,将服务器组(A)投入到生辰环境中,并将少量流量导入到服务器(A)中
  • 如果在线测试出现问题,则将流量切回,并进行回滚操作,修复后,再次进行发布
  • 如果测试顺利,则加大引流比例,发布其他机器