蓝绿部署
两套生产环境交替版本部署,路由切换环境
- 特点:同时存在两个集群,两个集群中只有一个集群真正提供服务,另外一个集群测试、验证或待命
- 优势:服务文档,版本回退简单,适用于各种场景的升级,大版本不兼容升级的或迭代兼容升级
- 劣势:浪费硬件资源,需要同时有两个集群,如果集群比较大,比如有 1000 个节点,这种方式几乎不可用
- 适用场合
- 开发测试环境
- 非关键应用(用户影响面小)
- 初创公司
灰度发布(金丝雀发布)
跟新部分节点,稳定后跟新全部环境
- 特点:逐点部署,逐步替换线上服务,周期长
- 优势:小步快跑,快速迭代,用户体验影响小
- 劣势:只能适用于兼容迭代的方式,如果是大版本不兼容的场景,就没办法使用这种方式了
- 适用场合
- 对新版本功能或性能缺乏足够信心
- 用户体验要求较高的网站业务场景
- 缺乏足够的自动化发布工具研发能力
滚动发布
灰度发布的基础上滚动发布,逐个替换
- 特点:所有节点替换,保留旧版,新版部署成功后删除旧版,路由切换
- 优势:用户体验影响小;耗费资源少
- 劣势:回滚困难,运维技术要求高,短暂出现新老版本不一致的情况