`
enki_ding
  • 浏览: 210747 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

灰度发布

 
阅读更多

灰度发布

  灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。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实现灰度发布1

    **灰度发布简介** 在软件开发中,灰度发布(也称为蓝绿部署或金丝雀发布)是一种部署策略,允许在正式全面发布新版本之前,先将新版本推送给一小部分用户进行测试,以此来验证新版本的功能、性能和稳定性。这种方式...

    nginx+lua+redis通过匹配客户端ip进行灰度发布

    nginx+lua+redis通过匹配客户端ip进行灰度发布 本文将讲述如何使用nginx、lua和redis来实现灰度发布,通过匹配客户端IP来实现灰度发布。灰度发布是一种常见的软件发布方式,它允许开发者在生产环境中发布新的版本,...

    互联网产品灰度发布流程

    ### 互联网产品灰度发布流程详解 #### 一、引言 随着互联网技术的快速发展,产品的更新迭代变得越来越频繁。为了降低新版本上线可能带来的风险,确保用户体验不受影响,许多互联网公司采用了灰度发布的方式。灰度...

    Devops灰度发布介绍.pdf

    "Devops灰度发布介绍.pdf" 在软件开发和发布过程中,DevOps灰度发布是提高效率和降低风险的关键。灰度发布是指在软件发布过程中,逐步将新版本部署到生产环境中,以减少风险和影响范围。本文将介绍DevOps灰度发布的...

    灰度发布技术实现报告模板

    灰度发布技术实现报告 一、引言 1. 编写目的:此报告旨在详细介绍灰度发布的技术实现,分析其在鑫合汇技术中心的实际应用,并为其他类似项目提供参考,确保产品更新的安全性和稳定性。 2. 背景:在快速迭代的...

    互联网产品的灰度发布

    ### 互联网产品的灰度发布详解 #### 一、灰度发布的背景与定义 在传统的软件产品发布流程中,如微软的Windows 7等操作系统,一般会经历Pre-Alpha、Alpha、Beta、Release Candidate (RC)、RTM (Release to ...

    基于Nacos元数据实现灰度发布,可以按照最小粒度灰度发布

    idDeptSign和ip值都相等,则会有灰度服务 案例2: Nacos元数据配置 {"idDeptSign":"040101","ip":"192.168.1.2","springCloud":"register"} 前端请求头设置参数publicParam {"idDeptSign":"040101","ip":"192.168...

    springcloud灰度发布方案

    springcloud灰度发布方案。包含网关、服务间调用灰度发布代码。详情请参考博客:https://blog.csdn.net/han949417140/article/details/121420529

    服务灰度发布方案.docx

    灰度发布方案 灰度发布是一种平滑过渡的发布方式,即在黑与白之间,能够逐步过渡的一种发布方式。AB test 就是一种灰度发布方式,让一部分用户继续用 A,一部分用户开始用 B,如果用户对 B 没有什么反对意见,那么...

    istio灰度发布探索.mp4

    讲解istio灰度发布,A/B Test, istio应用架构的视频,从nginx ingress带入到istio的微服务治理架构。

    互联网应用灰度发布建设实践.pdf

    互联网应用灰度发布是一种在不中断应用服务的情况下,对应用进行版本迭代更新的发布策略。灰度发布起源于传统的矿工安全措施,即先放一只金丝雀进矿井探测是否有有毒气体,如无异常才让矿工进入。在互联网应用中,...

    基于 Nginx 的 Java Web 项目灰度发布框架.zip

    在IT行业中,灰度发布(也称为A/B测试或蓝绿部署)是一种常见的软件发布策略,它允许开发者在正式发布新版本之前,在一部分用户中进行小规模的测试,以评估新功能的效果、性能和稳定性。在这个场景中,我们讨论的是...

    基于springCloud的灰度发布源码文件

    灰度发布 根据请求的流量,将流量分流,分一小部分转至新版本的使用,这个新版本即为灰度发布方案,灰度的使用通过后,会通过调整新版本的使用流量进行融合 简单说:新功能上线,就新老系统共存,共存的空间就是灰度...

    灰度发布系统压测报告1

    【灰度发布系统压测报告1】 灰度发布是一种软件发布策略,它允许部分用户先体验新版本,以便在大规模推广前发现并修复问题。本报告详细探讨了灰度系统在不同阶段的性能表现,包括引入缓存和缓存超时失效机制后的...

    蓝绿发布及灰度发布、及部署细节

    蓝绿发布和灰度发布是两种常见的应用程序升级策略,它们都是为了确保系统稳定性和不间断的服务。这两种策略在Java等技术栈中广泛应用于大型分布式系统的部署过程中。 蓝绿发布的核心思想是拥有两个平行的生产环境,...

    前端灰度发布落地方案.docx

    前端灰度发布落地方案 灰度发布是一种将新功能逐渐投放到生产环境的策略,避免了新功能全量上线带来的风险。灰度发布可以根据不同的灰度规则将用户分流到不同的版本,例如根据用户的等级、性别、地区、客户端等信息...

    SpringCloudAlibaba基于gateway+nacos+feign灰度发布技术方案代码demo

    本项目是基于SpringCloud Alibaba的灰度发布技术方案,主要涉及到以下几个核心组件:Gateway、Nacos、Ribbon以及Feign。下面将详细阐述这些组件的功能以及如何结合使用以实现灰度发布。 1. Spring Cloud Gateway: ...

    许力强:浅谈灰度发布在贴吧的应用

    根据给定文件的信息,本文将深入探讨灰度发布在百度贴吧的应用情况,通过解析许力强分享的内容,进一步理解灰度发布的技术要点及其在贴吧的实际应用案例。 ### 一、关于作者与百度贴吧 #### 1.1 作者介绍 许立强是...

Global site tag (gtag.js) - Google Analytics