在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。
微服务目前有很多用于部署的技术,有的简单,有的复杂;有的得停机,有的不需要停机即可完成部署。本本文的目的就是将目前常用的布署方案做一个总结。
Blue/Green Deployment(蓝绿部署)
1、定义
蓝绿部署是不停老版本,部署新版本然后进行测试,确认OK,将流量切到新版本,然后老版本同时也升级到新版本。
2、特点
蓝绿部署无需停机,并且风险较小。
3、部署过程
第一步、部署版本1的应用(一开始的状态)
所有外部请求的流量都打到这个版本上。
第二步、部署版本2的应用
版本2的代码与版本1不同(新功能、Bug修复等)。
第三步、将流量从版本1切换到版本2。
第四步、如版本2测试正常,就删除版本1正在使用的资源(例如实例),从此正式用版本2。