deployment - Canary vs. A/B 发布策略
问题描述
我正在经历不同类型的发布策略,并且对 Canary 和 A/B 策略感到困惑。他们两个似乎很相似。
我在 Canary 上读到的所有内容都是“允许通过向一小部分人发布新版本来测试部署”。在 A/B 上是“针对特定客户群的 A/B 测试策略”。
那么它们之间的区别在哪里,两者的用例是什么?
参考资料:https ://azure.microsoft.com/en-in/overview/kubernetes-deployment-strategy/
解决方案
A/B 测试的目的通常是查看用户对新 UI、功能等的反应(在某种程度上,他们喜欢它)。但你知道新版本是有效的。因此,您实际上将应用程序的两个版本随机发送给所有这些版本。它可以是 50-50、80-20、90-10 等等。有时功能甚至不相关。你可能想看看哪个版本吸引了更多的客户和类似的东西。
Canary 更关注新功能的运行情况。或者如果它真的有效。通常是 90-10、80-20、A >> B。永远不要 50-50,因为如果出错,您不希望一半的用户体验不佳。因此,如果新版本能够按预期工作,您并不肯定。
最重要的区别(这是几乎没有人谈论的)是金丝雀测试具有会话亲和性。所以它不会将两个版本都发送给所有用户,而是随机将一些用户发送到新版本,并让他们保持在同一个版本上。
推荐阅读
- sql - 根据 item,loc 组合在两个表之间进行连接
- batch-file - 修改现有注册表项值的一部分
- javascript - 如何在 Vue js 中将 formData 对象作为键值对发送?
- android - kotlin 和正确声明变量
- php - 分解数组结果并应用 foreach
- spring - 了解 Spring AOP 和事务方面
- javascript - 制作“填空”段落的问题
- node.js - nodemailer sendEmail 不在 Node.js 中等待
- firebase - 带有子集合的 Firestore 查询规则
- java - 通过身份验证标头并将其添加到下一个请求