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

灰度发布方案

一、灰度发布定义 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 ? 二、实现思路方向 1、在代码中做。...多套(隔离的)线上环境,接入层针对不同用户转发到不同的环境中 两种方案的优缺点: 方案 优点 缺点 在代码中做 灵活,粒度细;一套代码(环境)运维成本低 灰度逻辑侵入代码 在接入层做 无需(少)侵入代码...第三是dubbo灰度,项目中如果使用dubbo,有可能会需要dubbo服务的灰度实现。...例:略 四、dubbo灰度方案说明 Dubbo架构 ? Dubbo服务调用过程 ?

10.6K41

Dubbo服务治理之灰度发布方案(版本发布控制影响范围)

微信公众号:[中间件兴趣圈] 作者简介:《RocketMQ技术内幕》作者 方案背景 背景:基于Dubbo服务的治理,是否可以支持业务级别的灰度发布、是否基于业务参数的路由转发。...的请求转发到新版本服务器,其他合作伙伴还是转发到旧版,实现业务级别的灰度发布,控制新版本的影响范围。...本文将对上述议题结合Dubbo提供的功能,提出设计方案方案理论基础 Dubbo的服务调用原理图: ?...服务的灰度发布,其目标是希望根据请求,某些请求走新版本服务器,某些请求走旧版本服务器,其本质就是路由机制,即通过一定的条件来缩小服务的服务提供者列表,正好与Dubbo的Router相吻合。...总结 上述展示了Dubbo服务基于业务灰度发布方案,以及基于合作伙伴的服务隔离机制(根据服务调用业务参数来决定服务调用者的筛选)。

5.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

前端灰度发布落地方案

一个大型的前端项目在发布时,都会采取灰度策略。第一次听同事说灰度的时候,还是停留在疑惑阶段,对这个词不了解,后续做了一些功课,才明白灰度的意义。...前言 前段时间在面试的时候遇到过前端灰度发布相关的问题,刚好在之前公司有设计过前端灰度发布方案,这套方案也在多个系统上得到过验证了,最近有时间整理,现在也拿出来和大家交流下,在结尾也给大家留下了一些的代码实现...、令牌算法等 什么是灰度发布 将某个功能灰度发布(逐渐放量)给特定线上人群,避免新功能全量上线带来的风险 上白话文,某项目当前处于1.0版本,但是想更新一个1.1版本,1.1版本内测没有问题了,但是由于改动了关键的功能...实现这种场景效果,就是灰度发布。 什么是灰度规则?...1.0版本 常见灰度发布方案 灰度方案各式各样,既有多样就有对比,没有最好,只有最合适自己的业务场景,这里给大家介绍几种方案,以便大家做比较选择 1.

2K50

Dubbo路由功能实现灰度发布及源码分析

灰度发布是实现新旧版本平滑过渡的一种发布方式,即让一部分服务更新到新版本,如果这部分服务没有什么问题,再将其它旧版本的服务更新。...而实现简单的灰度发布我们可以使用版本号控制,每次发布都更新版本号,新更新的服务就不会调用旧的服务提供者。 较复杂的灰度发布场景可以由版本号加路由功能实现。...服务提供者: apache-dubbo-2.7.2-src/dubbo-demo/dubbo-demo-annotation/dubbo-demo-annotation-provider 服务消费者:apache-dubbo...-2.7.2-src/dubbo-demo/dubbo-demo-annotation/dubbo-demo-annotation-consumer 1、服务提供端 为看到效果,需要启动两个服务提供者...修改dubbo-provider.properties配置文件,添加标签为guangdong dubbo.protocol.port=20880 dubbo.provider.tag=gaungdong

2.8K20

蓝绿部署、滚动发布灰度发布方案对比总结

本文将对目前常用的部署方案做一个简单的总结。 蓝绿发布(Blue/Green Deployment) 1. 定义 蓝绿部署是不停老版本,部署新版本然后进行测试。...灰度发布 1. 定义 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 2. A/B Testing A/B 测试是用来测试应用功能表现的方法,例如可用性、受欢迎程度、可见性等等。...灰度发布/金丝雀发布由以下几个步骤组成: 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。 从负载均衡列表中移除掉「金丝雀」服务器。...除此之外灰度发布还可以设置路由权重,动态调整不同的权重来进行新老版本的验证。 优势和不足 优势 用户体验影响小,灰度发布过程出现问题只影响少量用户。

2K20

灰度发布

灰度发布,对于大厂来说是必不可少的,对于我这种从来没有灰度发布过的,并不是很清楚,估计也有很多人不知道这个东西。以前只是直到灰度发布,这次稍微了解一下。...灰度发布是指新版本或者新功能通过一定策略选取一些用户,让他们先使用,通过使用情况对功能、性能、稳定性等指标评估是否扩大范围直至全面发布灰度发布开始到结束期间的这一段时间,称为灰度期。...如果是客户端的灰度发布,应该是可以按照用户逐渐推送更新安装包。而服务端的灰度发布则会相应容易一些,毕竟是在后台实现。 现在有专门的灰度发布模式A/B测试,通过业务代码区分流量访问不同代码。...灰度发布除了代码层面之外,对服务这块要求还是蛮大的,灰度发布不同于预发布灰度发布是直接让线上用户参与,而一般预发布发布到线上,由测试人员进行测试。...当然,会使用灰度发布的,一般来说都是千万级别用户的项目了,虽然很想使用灰度发布,但还是需要考虑实际场景,也希望以后能有机会使用灰度发布。 (完)

1.4K30

讨论:关于轻量化的灰度发布方案

灰度发布又叫金丝雀发布,起源是,矿井工人发现,金丝雀对瓦斯气体很敏感,矿工会在下井之前,先放一只金丝雀到井中,如果金丝雀不叫了,就代表瓦斯浓度高。...灰度发布和 AB Test 的区别和大部分人一样,我个人之前对灰度发布和 AB Test 存在一定的混淆,认为就是换了一种说法,但实际调研发现两者之间存在着本质上的区别。...灰度发布的优势1、提前获得使用反馈,缩减风险影响范围因为灰度发布可以通过地域、性别、用户等级、使用客户端等一系列的策略条件对目标用户群进行筛选,所以可以保证验证版本影响的用户在最小可接受的范围内。...灰度发布方案分析1、TestFlight对于 iOS 开发者来讲有一个较为方便的灰度测试方案,也是大家使用最多的 —— TestFlight。...由于本次调研的范围和时间有限,所以我认为较好用的轻量化灰度发布方案就暂时罗列这两类,当然方案有千千万,选择自己合适的就好。

49010

灰度发布

1、什么是灰度发布 以下是百度词条的解释: 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。...2、为什么要灰度发布 灰度发布的主要目的是保证系统的可用性。因为每一次线上变更都无法保证系统100%的无bug,所以变更后要在线上小范围验证,等没问题再全面放开。...这种方案操作会比较复杂些,配置灰度用户可能需要分几批,如果配置中心等基础服务都上来了,操作还好,不然就得一台一台机器人肉了~ 另外这种方案对业务侵入性比较大,如果每个项目都需要这么实现,工作量就比较大...所以这种方案适合一些业务流程改动非常大的、涉及的系统非常多、需要让非内部用户进行实际验证的场景。

2.2K61

灰度发布

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

1.7K30

灰度发布

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

1.5K30

蓝绿发布、滚动发布灰度发布等部署方案,这些你必须懂!

本文将对目前常用的部署方案做一个简单的总结。 蓝绿发布 (Blue/Green Deployment) ---- 〓定义 蓝绿部署是不停老版本,部署新版本然后进行测试。...灰度发布 〓定义 灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。...灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 ▼灰度发布结构图 ?...▼灰度发布/金丝雀发布由以下几个步骤组成: 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。 从负载均衡列表中移除掉「金丝雀」服务器。...除此之外灰度发布还可以设置路由权重,动态调整不同的权重来进行新老版本的验证。 〓优势和不足 ▼优势 用户体验影响小,灰度发布过程出现问题只影响少量用户。

1.4K10

游戏灰度发布

,蓝绿部署、滚动部署、灰度发布、金丝雀发布。。。...整个游戏的链条上,似乎大家都已经习惯,开发习惯,玩家也习惯 习惯麻痹了一切,没有提出更好的策略,大家都这么玩啊,无所谓啦~ 方案 细思极恐,我们应该,也需要做得更好 灰度发布/金丝雀发布 灰度发布是在原有版本可用的情况下...灰度发布/金丝雀发布由以下几个步骤组成: 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。 从负载均衡列表中移除掉“金丝雀”服务器。...在之前的架构图中,稍作修改,在玩家与Gameserver之间增加一层ha-proxy,这样就有了灰度发布的基础 玩家不再直接与game-server直连,而是与ha-proxy 透明性 对玩家来说,发版本就是透明的...结论 对于以上方案,不论是哪一种实现方式,仁者见仁,条条大路通罗马。 也可能你觉得这种想法本身就是个多余。 能卖1块钱的豆腐,为什么要卖5毛?

1K30

一、灰度发布

一、灰度发布   灰度发布是一种发布方式,也叫金丝雀发布,起源是矿工在下井之前会先放一只金丝雀到井里,如果金丝雀不叫了,就代表瓦斯浓度高。原因是金丝雀对瓦斯气体很敏感。...灰度发布的做法是:会在现存旧应用的基础上,启动一个新版应用,但是新版应用并不会直接让用户访问。而是先让测试同学去进行测试。...代表是否开启灰度功能 nginx.ingress.kubernetes.io/canary-by-cookie:灰度发布 cookie 的 key。当 key 值等于 always 时,灰度触发生效。...header去判断是否为灰度用户,再决定是否返回灰度版本服务。   ...二、滚动发布   滚动发布,则是我们一般所说的无宕机发布。其发布方式如同名称一样,一次取出一台/多台服务器(看策略配置)进行新版本更新。

1.5K20

关于灰度发布

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

2.1K30

StatefulSet灰度发布

灰度发布(Gray Release)是一种流行的发布策略,可以使我们在不中断整个生产环境的情况下逐步将新版本的应用程序发布给一小部分用户,以确保它们能够正常运行。...因此,在灰度发布中,我们可以使用不同的副本集来分别部署新版本和旧版本的应用程序,并逐步增加新版本的副本集,以确保它们能够正确运行。...下面是一个基于StatefulSet的灰度发布示例:假设我们有一个名为web的StatefulSet,它有3个副本,使用的是RollingUpdate更新策略,版本号为v1,现在我们想要发布新版本的应用程序...,并使用灰度发布策略。...当我们想要进行灰度发布时,我们可以通过 StatefulSet 的 RollingUpdate 更新策略来实现。

67410

灰度发布实现及蓝绿发布

1.0 简介 随着公司业务的不断发展壮大,需要一套稳妥的发布方案,如果发布的新版本服务有问题能及时撤回,不至于造成太大范围的影响; 2.0 现状 手动部署代码 Scp、Rsync上传代码; 登陆,Git...image.png 3.0 方案 3.1 灰度发布 灰度发布是一种常见的服务滚动升级或A/B测试策略。...修改 Ingress 流量规则:根据发布配置调整 Ingress 配置,开始执行灰度。 4 . 人工验证:通过 cookie 或者 header 对灰度版本进行验证,根据结果选择完成发布或者回滚。...接入层做; 多套(隔离的)线上环境,接入层针对不同用户转发不同的环境中; 方案 优点 缺点 在代码中做 灵活,粒度细;一套代码(环境)运维成本低 灰度逻辑侵入代码 在接入层做 无需(少)侵入代码;风险小...通过header实现灰度发布验证 image.png 待改进 1 . 2 . 3 . 3.2 蓝绿发布 不停老版本,部署新版本然后进行测试,确认ok,将流量切换到新版本,然后老版本升级到新版本

1.3K21
领券