项目部署方式
目录
部署方式主要有三种:
- 滚动部署
- 蓝绿部署
- 金丝雀部署
滚动部署
逐台停止服务并部署,新旧并存。
出现问题时,回滚已部署的机器。
需要注意:
- 回滚耗时
- 新旧 API 会同时服务,新 API 需要兼容旧 API
蓝绿部署
又称为 A/B 部署、红黑部署。
两个集群,单个集群提供服务。
部署备份集群,然后流量切到备份集群。如果没问题,再升级主。
出现问题时,把流量切回主集群。
需要注意:
- 等待未完成的事务结束才升级主
- 数据库迁移(表结构修改)的回滚
金丝雀部署
又叫灰度发布。
A/B Test 是灰度发布的一种方式。
让部分用户使用新版本,如果这部分用户没有什么反对意见,则逐步扩大范围。
自动化要求高。