灰度发布
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB
test就是一种灰度发布方式,让一部用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面
来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。
Gmail Labs是一个新特性橱窗,用户可以自己选择一些未正式发布的新特性进行体验,不喜欢可以关闭,在这个过程中,吃了螃蟹,也当了Google的小白鼠。
这个做法比传统的灰度要高明很多,更加尊重用户:
1、它没有强X用户,用户是否愿意当小白鼠完全自愿
2、新特性不是打包在一起的一个大版本,可以选择某几个喜欢的螃蟹尝尝
3、螃蟹不好吃可以扔掉,不用硬吃进肚子里引发肠胃炎
当然这些好处也是有代价的:
1、要开发一个labs平台实现新特性上架、独立尝试的功能,这可能要改动Gmail的前后台架构
2、新特性要按照一定规范来写,才能发布到这个平台上,可能会增加一些工作量
3、小白鼠用户增多之后,对系统的压力可能会有一定提升,因为没有用户调用的界面都不一样了
既然Gmail
Labs能够顺利发布,那么说明对Google来说,以上这些问题都不算问题。另外,现在展示的新特性,都注明了开发者的名字,那么,Gmail
Labs可能会开放这个平台让外部开发者也能提交特性?这倒是很open的一种开发模式,非常适合Google的web app产品线。
互联网产品有一个特点,就是不停的升级,升级,再升级。我所在的项目组,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系统down机的风险.....
为了避免这些风险,很多产品都采用了灰度发布的策略,其主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况后很容易就回退。
很长时间,我们都一直在改进搜索引擎的排序算法,尽量让最好的商品出现在搜索结果的第一屏。我
们尝试了很多中算法,不断调整各个排序因子所占的比重。但是我们无法确信我们的排序结果能满足所有用户的需求。所以我们采用了灰度发布,选取几个一级商品
类目,在其中应用不同的排序算法,比如在女装类目中,我们把卖家信用所占的比率调整到60%,在珠宝类目中,我们把销售量所占的比率调整到60%..
然后发布出去,收集用户反馈,最终选择一种大部分人认为好的算法。
QZone是另外一个采用灰度发布的例子。大家都知道,QZone在过去的一年中改进是巨大
的,从以前慢悠悠的老爷爷变成了一个充满青春活力的小伙子。其中经历了大小无数次的发布,他们的发布也都是采用了灰度发布的策略,用户数据的升级并不是大
面积的一次性升级,而是通过一个用户升级标志服务器,如果用户数据没有升级,后台会把此用户的数据逐步迁移到新版本上,然后将升级标志位置1,升级过程
中,用户仍然可以访问旧的数据,升级完成后的访问都将转发给新的版本。
QQ的很多产品发布都采用灰度发布,有些是抽取部分QQ号段升级成新系统,然后根据用户反馈再大范围升级。我们的产品大部分也是采用灰度发布。
分享到:
相关推荐
**灰度发布简介** 在软件开发中,灰度发布(也称为蓝绿部署或金丝雀发布)是一种部署策略,允许在正式全面发布新版本之前,先将新版本推送给一小部分用户进行测试,以此来验证新版本的功能、性能和稳定性。这种方式...
nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...
### 互联网产品灰度发布流程详解 #### 一、引言 随着互联网技术的快速发展,产品的更新迭代变得越来越频繁。为了降低新版本上线可能带来的风险,确保用户体验不受影响,许多互联网公司采用了灰度发布的方式。灰度...
"Devops灰度发布介绍.pdf" 在软件开发和发布过程中,DevOps灰度发布是提高效率和降低风险的关键。灰度发布是指在软件发布过程中,逐步将新版本部署到生产环境中,以减少风险和影响范围。本文将介绍DevOps灰度发布的...
灰度发布技术实现报告 一、引言 1. 编写目的:此报告旨在详细介绍灰度发布的技术实现,分析其在鑫合汇技术中心的实际应用,并为其他类似项目提供参考,确保产品更新的安全性和稳定性。 2. 背景:在快速迭代的...
### 互联网产品的灰度发布详解 #### 一、灰度发布的背景与定义 在传统的软件产品发布流程中,如微软的Windows 7等操作系统,一般会经历Pre-Alpha、Alpha、Beta、Release Candidate (RC)、RTM (Release to ...
idDeptSign和ip值都相等,则会有灰度服务 案例2: Nacos元数据配置 {"idDeptSign":"040101","ip":"192.168.1.2","springCloud":"register"} 前端请求头设置参数publicParam {"idDeptSign":"040101","ip":"192.168...
springcloud灰度发布方案。包含网关、服务间调用灰度发布代码。详情请参考博客:https://blog.csdn.net/han949417140/article/details/121420529
灰度发布方案 灰度发布是一种平滑过渡的发布方式,即在黑与白之间,能够逐步过渡的一种发布方式。AB test 就是一种灰度发布方式,让一部分用户继续用 A,一部分用户开始用 B,如果用户对 B 没有什么反对意见,那么...
讲解istio灰度发布,A/B Test, istio应用架构的视频,从nginx ingress带入到istio的微服务治理架构。
互联网应用灰度发布是一种在不中断应用服务的情况下,对应用进行版本迭代更新的发布策略。灰度发布起源于传统的矿工安全措施,即先放一只金丝雀进矿井探测是否有有毒气体,如无异常才让矿工进入。在互联网应用中,...
在IT行业中,灰度发布(也称为A/B测试或蓝绿部署)是一种常见的软件发布策略,它允许开发者在正式发布新版本之前,在一部分用户中进行小规模的测试,以评估新功能的效果、性能和稳定性。在这个场景中,我们讨论的是...
灰度发布 根据请求的流量,将流量分流,分一小部分转至新版本的使用,这个新版本即为灰度发布方案,灰度的使用通过后,会通过调整新版本的使用流量进行融合 简单说:新功能上线,就新老系统共存,共存的空间就是灰度...
【灰度发布系统压测报告1】 灰度发布是一种软件发布策略,它允许部分用户先体验新版本,以便在大规模推广前发现并修复问题。本报告详细探讨了灰度系统在不同阶段的性能表现,包括引入缓存和缓存超时失效机制后的...
蓝绿发布和灰度发布是两种常见的应用程序升级策略,它们都是为了确保系统稳定性和不间断的服务。这两种策略在Java等技术栈中广泛应用于大型分布式系统的部署过程中。 蓝绿发布的核心思想是拥有两个平行的生产环境,...
前端灰度发布落地方案 灰度发布是一种将新功能逐渐投放到生产环境的策略,避免了新功能全量上线带来的风险。灰度发布可以根据不同的灰度规则将用户分流到不同的版本,例如根据用户的等级、性别、地区、客户端等信息...
本项目是基于SpringCloud Alibaba的灰度发布技术方案,主要涉及到以下几个核心组件:Gateway、Nacos、Ribbon以及Feign。下面将详细阐述这些组件的功能以及如何结合使用以实现灰度发布。 1. Spring Cloud Gateway: ...
根据给定文件的信息,本文将深入探讨灰度发布在百度贴吧的应用情况,通过解析许力强分享的内容,进一步理解灰度发布的技术要点及其在贴吧的实际应用案例。 ### 一、关于作者与百度贴吧 #### 1.1 作者介绍 许立强是...