zoukankan      html  css  js  c++  java
  • 什么是灰度发布

    什么是灰度发布

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

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

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

  • 相关阅读:
    PHP之目录遍历
    PHP之验证码
    PHP之验证码
    PHP之异常处理模式
    PHP之pdo的预处理模式
    PHP之PDO
    PHP之cookie和session
    PHP之MVC
    单例模式
    ThreadLocal
  • 原文地址:https://www.cnblogs.com/chenliangcl/p/9540551.html
Copyright © 2011-2022 走看看