首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

灰度发布

灰度发布,对于大厂来说是必不可少的,对于我这种从来没有灰度发布过的,并不是很清楚,估计也有很多人不知道这个东西。以前只是直到灰度发布,这次稍微了解一下。...如果是客户端的灰度发布,应该是可以按照用户逐渐推送更新安装包。而服务端的灰度发布则会相应容易一些,毕竟是在后台实现。 现在有专门的灰度发布模式A/B测试,通过业务代码区分流量访问不同代码。...但是区分流量是业务代码做的。通过少量用户到新版本,然后对新旧版本对比,这就是A/B测试。 nginx这块我不会,所以也不知道能不能实现两个分支nginx静态代理。理论上来说是没有问题。...灰度发布除了代码层面之外,对服务这块要求还是蛮大的,灰度发布不同于预发布灰度发布是直接让线上用户参与,而一般预发布发布到线上,由测试人员进行测试。...当然,会使用灰度发布的,一般来说都是千万级别用户的项目了,虽然很想使用灰度发布,但还是需要考虑实际场景,也希望以后能有机会使用灰度发布。 (完)

1.5K30

灰度发布

1、什么是灰度发布 以下是百度词条的解释: 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。...2、为什么要灰度发布 灰度发布的主要目的是保证系统的可用性。因为每一次线上变更都无法保证系统100%的无bug,所以变更后要在线上小范围验证,等没问题再全面放开。...3、常用的灰度发布方式有哪些 1、按机器灰度 ? 线上有多台机器,先将新功能代码部署到其中的1台或多台机器,然后绑定到这些机器进行测试,测试完没问题再部署到所有机器。...还要考虑的是在新代码机器测试的用户数据是加密的,而线上其他机器没有发布,则这些用户访问其它机器功能是不正常的,所以这个也只能限定进行灰度的用户是内部用户。

2.5K62
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    灰度发布

    什么是灰度发布 介绍灰度发布流程之前我先一句话介绍一下什么是灰度发布灰度发布就是,线上app无需停机就可以保证运行的是经过测试的稳定版本,且我们在冒烟测试时也不会影响到线上App的运行。...为什么我们要搞灰度发布 线上的服务每次都是我来构建,我可以非常负责任的讲,冒烟测试时不重新发布的几率很小,而且很多时候需要我去定位线上问题,这个过程我不知道你们痛不痛苦,反正我是很痛苦。...为了能让用户有更好的体验,也为了我不在那么痛苦所以我们急需要一款灰度发布系统。...灰度发布系统怎么搞 一个很简单的理论,同时准备两份服务,让符合规则的请求路由到灰度接口,不符合规则的路由到之前发布的服务就好了哇~ 图片 代码实现 熟悉SpringCloudGateway的同学对于...让符合规则的请求路由到灰度接口,不符合规则的路由到之前发布的服务就好了哇~,对于这个简单的需求我们只要在path断言不变的前提下在增加一个管理规则的断言不就可以了吗,以指定请求头包含指定value的规则为例

    1.8K30

    灰度发布

    灰度发布浅析 定义 灰度发布就是已一种平滑过渡的方式来发布,通过切换线上新旧版本之间的路由权重,逐步从旧版本切换到新版本;比如要上线新功能,首先只是更新少量的服务节点,通过路由权重,让少部分用户体验新版本...灰度发布 一个系统往往有接入层比如nginx(Openresty),网关层比如zuul,以及服务层比如各种rpc框架;在这几层都有路由功能,也就是说这几层都可以做灰度;接入层可以使用nginx+lua来实现灰度...,网关层zuul可以结合ribbon来实现灰度,rpc框架如dubbo本身提供了路由功能可以直接做灰度处理;下面看看具体如何去实现; 接入层灰度 接入层我们这里使用功能更强大的Openresty,然后使用...具体可以参考官方文档:旧路由规则 测试 启动zookeeper,然后分别启动两台生产者,启动消费者时通过修改tag然后观察路由; 总结 本文分别从接入层,网关层,服务层这三层简要的介绍了通过路由规则来实现灰度发布...;已每层比较典型的中间件来介绍具体如何去实现简单的灰度发布;总体来说就是使用中间件的路由功能,动态加载外部自定义的一些路由策略脚本,以此来达到灰度发布的目的。

    1.7K30

    游戏灰度发布

    ,蓝绿部署、滚动部署、灰度发布、金丝雀发布。。。...整个游戏的链条上,似乎大家都已经习惯,开发习惯,玩家也习惯 习惯麻痹了一切,没有提出更好的策略,大家都这么玩啊,无所谓啦~ 方案 细思极恐,我们应该,也需要做得更好 灰度发布/金丝雀发布 灰度发布是在原有版本可用的情况下...灰度发布/金丝雀发布由以下几个步骤组成: 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。 从负载均衡列表中移除掉“金丝雀”服务器。...玩家首先登陆游戏运营平台,鉴权完毕,选择区服,通过网关服务器获取到真实game-server信息,通过TCP,玩家与game-server建立起长连接。...在之前的架构图中,稍作修改,在玩家与Gameserver之间增加一层ha-proxy,这样就有了灰度发布的基础 玩家不再直接与game-server直连,而是与ha-proxy 透明性 对玩家来说,发版本就是透明的

    1.1K30

    一、灰度发布

    一、灰度发布   灰度发布是一种发布方式,也叫金丝雀发布,起源是矿工在下井之前会先放一只金丝雀到井里,如果金丝雀不叫了,就代表瓦斯浓度高。原因是金丝雀对瓦斯气体很敏感。...灰度发布的做法是:会在现存旧应用的基础上,启动一个新版应用,但是新版应用并不会直接让用户访问。而是先让测试同学去进行测试。...  基于 Cookie 切分流量。...代表是否开启灰度功能 nginx.ingress.kubernetes.io/canary-by-cookie:灰度发布 cookie 的 key。当 key 值等于 always 时,灰度触发生效。...  基于 Header 切分流量,这种实现原理主要根据用户请求中的 header 是否存在灰度标示 header去判断是否为灰度用户,再决定是否返回灰度版本服务。

    1.6K20

    关于灰度发布

    所以感觉应该算是一种通用系统吧~ 为什么要有灰度发布系统?...这样说的话可能有些人会提出异议,我们在做代码发布的时候先发布一台机器,然后再发布十台,然后一百台这样的,似乎是叫小流量上线,这个和灰度发布有区别么?...两者还是有一些区别的,小流量上线一般做的是系统的彻底升级,和灰度发布不一样。也即是前面提到的,灰度发布期间,线上的系统两套代码在同一台新发布的机器上也同时存在。...灰度发布一般人都比较熟悉的案例可能是微软的操作系统升级吧,其实腾讯qq或者微信发布也差不多。不过说到操作系统升级,灰度发布感觉还有另外的一层意思。可以控制用户流量对网络或者系统的负载的影响。...继续来说互联网公司的灰度发布系统。 一般的灰度发布都会有一些策略,其实就是分类/桶策略。

    2.3K30

    灰度发布方案

    一、灰度发布定义 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 ? 二、实现思路方向 1、在代码中做。...OpenResty® 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。.../base/intro.html 新浪微博开源项目 git地址:https://github.com/CNSRE/ABTestingGateway ABTestingGateway是一个可以动态设置分流策略的灰度发布系统...nginx实现的灰度系统中,分流逻辑往往通过 rewrite 阶段的 if 和rewrite 指令等实现,优点是性能较高,缺点是功能受限、容易出错,以及转发规则固定,只能静态分流

    11.3K41

    灰度发布实现及蓝绿发布

    image.png 3.0 方案 3.1 灰度发布 灰度发布是一种常见的服务滚动升级或A/B测试策略。...修改 Ingress 流量规则:根据发布配置调整 Ingress 配置,开始执行灰度。 4 . 人工验证:通过 cookie 或者 header 对灰度版本进行验证,根据结果选择完成发布或者回滚。...环境多,运维成本高 实现方法一(侵入代码) 将含有header含有js-design:v1.2进行分流,百分之二十请求(配置中心或者后台管理做配置)新服务的逻辑,其余请求访问老版本逻辑; 后端比较耗费精力...,比如是否用到数据库,字段是否改变,事务,灰度版本成功老系统数据同步等; 实现方法二(接入层) 接入层一般采用nginx,可以基于以下两种方式分流: IP 可以针对比如一个办公室公网IP进行匹配到新版本服务...通过header实现灰度发布验证 image.png 待改进 1 . 2 . 3 . 3.2 蓝绿发布 不停老版本,部署新版本然后进行测试,确认ok,将流量切换到新版本,然后老版本升级到新版本

    1.5K21

    开发工具推荐:一个开源的灰度发布、AB 实验平台功能发布管理平台

    项目背景 这个项目是基于 feature flags 技术开源项目,feature flags 坦白说也不算什么新技术了,在公司内也已经实践好几年了,当前互联网公司大厂都在使用这项技术做 AB 实验、功能灰度等...国外有比较一些成熟的 SaaS 平台例如 launchdarkly 、flagsmith 等,但国内很少有基于 feature flags 的开源项目。 若大家对这个技术有兴趣的可以了解一下。...三、项目所解决的问题 1 、复杂功能的逐步发布 当开发一个复杂的功能时,传统的开发方式可能需要等到功能完全开发完成后才能进行发布。这可能导致较长的开发周期和较高的风险。...四、UI界面 功能管理 图片 发布规则配置 图片 流量监测 图片

    1.9K10

    灰度环境发布策略 转

    灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。...AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面 来。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。...灰度发布一般有三种方式 nginx+lua,nginx根据cookie分流,nginx 根据权重来分配 nginx+lua根据来访者ip地址区分,由于公司出口是一个ip地址,会出现访问网站要么都是老版...,要么都是新版,采用这种方式并不适合 nginx 根据权重来分配,实现很简单,也可以尝试 nginx根据cookie分流灰度发布基于用户才更合理 两台服务器分别定义为 tts_V6  192.168.3.81

    78530

    SpringCloud 优雅下线+灰度发布

    Hystrix 源码解析 Java 并发源码 来源:blog.csdn.net/qq_35246620/ article/details/109166722/ 前言 优雅下线 常见的下线方式 优雅的下线方式 灰度发布...常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。...项目地址:https://github.com/YunaiV/onemall 灰度发布 蓝绿部署 蓝绿部署,英文名为 Blue Green Deployment,是一种可以保证系统在不间断提供服务的情况下上线的部署方式...并不是说滚动发布不好,滚动发布也有它非常合适的场景。...金丝雀部署 金丝雀部署又称灰度部署(或者,灰度发布),英文名为 Canary Deployment,是指在黑与白之间,能够平滑过渡的一种发布方式 。

    1K30

    SpringCloud 优雅下线+灰度发布

    回复”学习资料“获取学习宝典 来源:blog.csdn.net/qq_35246620/article/ details/109166722 文章目录 前言 优雅下线 常见的下线方式 优雅的下线方式 灰度发布...常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。...灰度发布 蓝绿部署 蓝绿部署,英文名为 Blue Green Deployment,是一种可以保证系统在不间断提供服务的情况下上线的部署方式。 如何保证系统不间断提供服务呢?...并不是说滚动发布不好,滚动发布也有它非常合适的场景。...金丝雀部署 金丝雀部署又称灰度部署(或者,灰度发布),英文名为 Canary Deployment,是指在黑与白之间,能够平滑过渡的一种发布方式。

    45220
    领券