首页/开发/CI/CD 与发布速查/蓝绿发布(Blue-Green)
发布策略60 条

蓝绿发布(Blue-Green)

维护两套同构环境,新版本在非生产槽位验证通过后将流量整体切过来;出问题切回旧槽位即完成回滚,代价是双倍资源与数据库兼容约束。

CI/CD 与发布速查开发更新于 2026-10-12
流量切换负载均衡/路由指向新环境
回滚切回旧环境,分钟级
资源发布窗口内两套并行
前提两个版本兼容同一份数据

切流量与验证

切流量与验证
kubectl patch service web -p '{"spec":{"selector":{"slot":"green"}}}'
kubectl rollout status deployment/web-green
切换时长连接会残留在旧环境:先摘除旧环境的新流量、等待连接排空,再完成数据库层面的收尾。

易错点

  • 两套环境配置漂移:绿环境过验证不代表能承接生产行为
  • 切换前未做数据库向前兼容:旧代码被新结构打断,切回去也恢复不了

数据来源与参考

  • martinfowler.com《BlueGreenDeployment》
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌