金丝雀发布:保障服务安全升级的有效策略
1. 金丝雀发布概述
金丝雀发布是一种在生产环境中逐步引入新变更的部署策略,能帮助我们在将变更全面推向生产环境之前,评估其对系统的影响。在金丝雀发布中,分配给金丝雀实例的服务负载比例应与金丝雀实例的规模成正比。通过将变更逐步暴露给越来越多的流量,我们可以对变更更有信心,同时也能发现一些在单元测试或负载测试等测试框架中难以察觉的问题。
2. 金丝雀发布的要求
金丝雀发布需要具备以下特定能力:
- 一种将金丝雀变更部署到服务部分实例的方法。
- 一个评估金丝雀变更好坏的评估流程。
- 将金丝雀评估结果集成到发布流程中。
当金丝雀能够高置信度地检测出不良发布候选版本,并准确识别出良好的发布版本而不产生误报时,金丝雀发布流程就体现出了其价值。
3. 示例设置
我们使用一个简单的前端 Web 服务应用来阐述金丝雀发布的概念。该应用提供基于 HTTP 的 API,用户可以使用它来操作各种数据(如产品价格等简单信息)。这个示例应用有一些可调节的参数,我们可以用它们来模拟各种生产症状,以便进行金丝雀评估。例如,我们可以让应用对 20% 的请求返回错误,或者规定 5% 的请求至少需要两秒才能完成。
这个示例应用部署在 Google App Engine 上,但这些原则适用于任何环境。虽然示例应用比较简单,但在现实场景中,类似的应用与我们的示例有共同的信号,可用于金丝雀发布流程。
我们的示例服务有两个潜在版本:当前在生产环境中运行的实时版本和新构建的发布候选版本。我们将使用这两个版本来说明各种发布概念,以及如何实施金丝雀发布
金丝雀发布:安全升级策略解析
超级会员免费看
订阅专栏 解锁全文
1076

被折叠的 条评论
为什么被折叠?



