随笔 - 115  文章 - 0  评论 - 171  阅读 - 52万

什么是灰度发布

什么是灰度发布

灰度发布似乎是介于发布和不发布中间的一个地带。而且常见于互联网公司。为了不影响用户的使用,不中断服务进行升级。

尤其是体量巨大的互联网公司几乎没有哪家会发布公告,停机更新。

灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

对于app来说,可以通过对用户行为的推断,例如每次更新版本就会有一批用户热衷于尝鲜,也有一部分用户,基本从不更新。在这批用户使用过程中,根据他们的意见改进,同时也可以测试生产环境下新的系统,算法等健壮性,稳定性。为真正发布版本提供宝贵的反馈。

对于一个后台服务的升级,通常企业级都需要集群来提供服务,通过调节负载均衡的权重,让新的代码暂时只处理少部分的业务,根据生产环境下的日志信息等,修改bug,优化性能。逐渐完善,同时逐渐增加新服务的权重,平稳的过渡到新系统上。

系统的升级总是伴随着风险,无论测试过几遍,总是不可能完全覆盖生产环境上的极端情况。

传统的升级,被称为系统的切割,老系统退役,新系统上线。一旦出现问题,回退非常的棘手。但是灰度发布可以灵活的处理这些问题,把不可控因素一点点暴露,不会导致灾难性的服务停止。

微信前不久推出了实验室这个功能,里面包括了搜一搜,看一看等。

其实这个先进的想法来自于google lab。google lab可以让用户自己选择是否尝试新的特性,并且可以随时关闭,可以说是非常的人性化,也可以看到国内企业在吸收国际公司的有点。

参考文章都非常的不错,分享给大家,有兴趣的可以看一看。

关于灰度发布的实现方法,架构逻辑等等,不要觉得自己离这些很遥远,做一个视野广阔的程序员。

参考文章

http://blog.csdn.net/hys19920320/article/details/50899932 
http://blog.csdn.net/aresiii/article/details/49125369 
http://www.jianshu.com/p/eeceac29f390

posted on   仗剑走天涯|  阅读(868)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-08-27 我看绩效考核
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示