服务部署模式一般有以下:
- 停机部署(Big Bang / Recreate): 把现有版本的服务停机,然后部署新的版本。
- 蓝绿部署(Blue/Green /Stage):部署好新版本后,把流量从老服务那边切过来。
- 滚动部署(Rolling Update / Ramped): 一点一点地升级现有的服务。
- 灰度部署(Canary):把一部分用户切到新版本上来,然后看一下有没有问题。如果没有问题就继续扩大升级,直到全部升级完成。
- AB 测试(A/B Testing):同时上线两个版本,然后做相关的比较。
部署应用有很多种方法,实际采用哪种方式取决于需求和预算。当发布到开发或者模拟环境时,停机或者滚动部署是一个好选择,因为干净和快速。当发布到生产环境时,滚动部署或者蓝绿部署通常是一个好选择,但新平台的主流程测试是必须的。
蓝绿部署也不错,但需要额外的资源。如果应用缺乏测试或者对软件的功能和稳定性影响缺乏信心,那么可以使用金丝雀部署或者 AB 测试发布。如果业务需要根据地理位置、语言、操作系统或者浏览器特征等参数来给一些特定的用户测试,那么可以采用 AB 测试技术。
此文章为4月Day02学习笔记,内容来源于极客时间《左耳听风》,强烈推荐该课程!