展开

关键词

如何「灰度发布」你的程序?| 程序问答 #37

第 37 期 在上一期的程序问答里,我们已经教会大家,如何发布自己的程序。 当程序发布后,如果需要发布程序新版本,我们可以选择「灰度发布」。 灰度发布的意思是:分阶段向一定比例的用户发布新版,用于对比新旧版本的表现、找出新版本中潜在的问题。 今天,知晓程序(微信号 zxcx0101)就来教大家,如何在程序中使用灰度发布功能。 关注「知晓程序」微信公众号,在微信后台回复「问答」,获取往期程序问答文章。 「灰度发布」在哪里? 开发完新版本程序后,你依然需要提交审核,之后才能使用「灰度发布」功能。 审核通过后,你可以这样找到灰度发布功能: 进入公众平台,使用程序帐户登录。 点击左侧边栏的「开发管理」。 点击「开发版本」中「审核通过,待发布」版本右侧的「提交发布」按钮。 扫码确认之后,程序就进入了分阶段发布模式。在「开发管理」-「线上版本」中,你可以查看目前正式版,以及正在灰度的版本。 ? 点击灰度版本右侧的下拉箭头,你还可以选择「提升发布比例」、「撤销发布」。

89150

程序灰度发布,整点新鲜的!

先来看看整个灰度发布的设计与开发流程: image.png 凡泰程序开放平台致力于帮助企业将App“碎片化”,将原先“不可分割”的整体,打碎成一个又一个由程序组成的功能模块。 而在灰度发布的流程中,一旦业务人员提出了对应的业务需求,既可以马上投入对应的研发流程,这一流程的好处在于: 业务功能(程序)在内部独立开发,无需占用过多开发人力,需求响应时间将大幅缩短 程序仅需完成内部测试 实现功能与业务的敏捷迭代,不让好想法蒙尘,下一个业务爆发点可能就藏在这个小小的idea后面 凡泰程序开放平台灰度发布的构成 image.png 1、丰富、可视化的规则配置,满足个性化的发布设置 凡泰程序开放平台将复杂的规则配置可视化 在本流程中,业务人员选择已经完成开发、测试的程序版本,根据灰度方案,选择对应的发布时间窗、规则、规则间的规则以及未命中处理。 3、SDK沙箱自动上报相关数据,实现灰度发布完整闭环 无需对每一个程序都进行业务埋点开发,凡泰发布程序运行时SDK,会针对一些常见数据,进行自动的搜集和上报;同时,针对需要复杂业务数据回传的程序而言

77130
  • 广告
    关闭

    腾讯云服务器买赠活动

    腾讯云服务器买赠活动,低至72元1年,买就送,最长续3个月,买2核送4核、买4核送8核

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

    灰度发布

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

    1.1K61

    灰度发布

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

    49030

    灰度发布

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

    56530

    游戏灰度发布

    ,蓝绿部署、滚动部署、灰度发布、金丝雀发布。。。 整个游戏的链条上,似乎大家都已经习惯,开发习惯,玩家也习惯 习惯麻痹了一切,没有提出更好的策略,大家都这么玩啊,无所谓啦~ 方案 细思极恐,我们应该,也需要做得更好 灰度发布/金丝雀发布 灰度发布是在原有版本可用的情况下 灰度发布/金丝雀发布由以下几个步骤组成: 准备好部署各个阶段的工件,包括:构建工件,测试脚本,配置文件和部署清单文件。 从负载均衡列表中移除掉“金丝雀”服务器。 在之前的架构图中,稍作修改,在玩家与Gameserver之间增加一层ha-proxy,这样就有了灰度发布的基础 玩家不再直接与game-server直连,而是与ha-proxy 透明性 对玩家来说,发版本就是透明的 ,发版本时,不再需要停机,入口也不需要关闭,7*24玩耍 流量灵活切换 灰度百分比,可以灵活控制,这里面又涉及到路由规则,复杂了,可以先百分百切换 快速迭代 玩家无感,出现bug,可以快速修复,快速上线

    27730

    一、灰度发布

    一、灰度发布   灰度发布是一种发布方式,也叫金丝雀发布,起源是矿工在下井之前会先放一只金丝雀到井里,如果金丝雀不叫了,就代表瓦斯浓度高。原因是金丝雀对瓦斯气体很敏感。 灰度发布的做法是:会在现存旧应用的基础上,启动一个新版应用,但是新版应用并不会直接让用户访问。而是先让测试同学去进行测试。 代表是否开启灰度功能 nginx.ingress.kubernetes.io/canary-by-cookie:灰度发布 cookie 的 key。当 key 值等于 always 时,灰度触发生效。 k8s创建副本应用程序的最佳方法就是部署(Deployment),部署自动创建副本集(ReplicaSet),副本集可以精确地控制每次替换的Pod数量,从而可以很好的实现滚动更新。 版本更新成本,不需要新旧版本共存 缺点 更新时间长:每次只更新一个/多个镜像,需要频繁连续等待服务启动缓冲 旧版本环境无法得到备份:始终只有一个环境存在 回滚版本异常痛苦:如果滚动发布到一半出了问题

    19320

    关于灰度发布

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

    1.3K30

    灰度发布方案

    一、灰度发布定义 灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 ? 二、实现思路方向 1、在代码中做。 ;风险 多套线上环境,运维成本高 灵活的灰度方案一般需要在接入层实现,具体就是自定义负载均衡策略实现。 /intro.html 新浪微博开源项目 git地址:https://github.com/CNSRE/ABTestingGateway ABTestingGateway是一个可以动态设置分流策略的灰度发布系统 demo逻辑:目标服务的端口和灰度服务端口的一致,并且请求方法的第一个参数类型是Long(userId)并且是灰度用户,则判断为灰度服务,否则按照默认随机调用其余非灰度服务 ?

    8.7K41

    灰度发布实现及蓝绿发布

    image.png 3.0 方案 3.1 灰度发布 灰度发布是一种常见的服务滚动升级或A/B测试策略。 原理图 image.png 发布过程 1 . 修改 Ingress 流量规则:根据发布配置调整 Ingress 配置,开始执行灰度。 4 . 人工验证:通过 cookie 或者 header 对灰度版本进行验证,根据结果选择完成发布或者回滚。 接入层做; 多套(隔离的)线上环境,接入层针对不同用户转发不同的环境中; 方案 优点 缺点 在代码中做 灵活,粒度细;一套代码(环境)运维成本低 灰度逻辑侵入代码 在接入层做 无需(少)侵入代码;风险 通过header实现灰度发布验证 image.png 待改进 1 . 2 . 3 . 3.2 蓝绿发布 不停老版本,部署新版本然后进行测试,确认ok,将流量切换到新版本,然后老版本升级到新版本

    50220

    灰度发布与ABtest

    蓝绿发布 [zouhf7hpk5.png? 1650518920&q-header-list=&q-url-param-list=&q-signature=3f398079c973505209591401cb9401008dd76a12] 滚动发布 1650518935&q-header-list=&q-url-param-list=&q-signature=f2a6ceb02a224f84827c94410ec3fd6b3ca71073] 金丝雀/灰度发布 q-header-list=&q-url-param-list=&q-signature=f1e00c1938c3f637f272370811873e986e768d32] 实际使用过程中往往是AB测试+灰度结合使用

    17760

    灰度环境发布策略 转

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

    36430

    快速学习-Saturn灰度发布

    灰度发布 1. 目的 灰度发布是为了在升级过程中减少对于现有业务的影响,通过升级一台Executor先验证是否没有问题后,再逐步按照批次升级。 灰度发布要求域下至少有2台Executor。 2. 什么时候需要灰度发布 变更了现有的作业代码 增加了新的作业 3.

    39130

    SpringCloud 优雅下线+灰度发布

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

    13120

    SpringCloud 优雅下线+灰度发布

    Hystrix 源码解析 Java 并发源码 来源:blog.csdn.net/qq_35246620/ article/details/109166722/ 前言 优雅下线 常见的下线方式 优雅的下线方式 灰度发布 常见的优雅解决方案,主要包括优雅下线和灰度发布。而实际上,灰度发布的范围就已经包含优雅下线了。 最后,在本文中,我们主要讲述基于 Spring Cloud 和 Euraka 的优雅下线以及灰度发布。 基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、 项目地址:https://github.com/YunaiV/onemall 灰度发布 蓝绿部署 蓝绿部署,英文名为 Blue Green Deployment,是一种可以保证系统在不间断提供服务的情况下上线的部署方式 金丝雀部署 金丝雀部署又称灰度部署(或者,灰度发布),英文名为 Canary Deployment,是指在黑与白之间,能够平滑过渡的一种发布方式 。

    25630

    zuul灰度发布功能实现

    灰度发布、蓝绿发布、金丝雀发布各是什么意思,可以看这篇http://www.appadhoc.com/blog/product-release-strategy/。 基于eureka、ribbon实现灰度发布,是这一篇要讲的知识。 我们要发布版本了,在不确定正确性的情况下,我们选择先部分节点升级,然后让一些特定的流量进入到这些新节点,完成测试后再全量发布。 ? 我们要完成灰度发布,要做的就是修改ribbon的负载策略(rule),通过一些特定的标识,譬如我们可以选择header里带有foo=1的全部路由到金丝雀服务上,其他的还走原来的老版本。 诸如此类,我们可以定制各种规则来进行灰度测试。 在SpringCloud体系中,完成这件事,模式比较固定,就是根据eureka的metadata进行自定义元数据,然后修改ribbon的Rule规则。

    1.8K20

    Nginx灰度发布—-【cookie】、【IP】

    灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。 AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。 灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。 A/B测试流程 Nginx根据Cookie实现灰度发布 ---- 根据Cookie查询Cookie键为version的值,如果该Cookie值为V1则转发到tomcat1,为V2则转发到tomcat2 :全栈程序员栈长,转载请注明出处:https://javaforall.cn/101775.html原文链接:https://javaforall.cn

    14020

    程序源代码】信息发布程序

    “ 关键字:  “ 信息发布程序"  01 ———— 【总体介绍】    信息发布程序,实现数据与程序数据同步共享,通过简单的配置就能搭建自己的程序。 ,基于微信程序开发的程序。     这个框架比较简单就是用微信原生开发技术进行实现的,可以用于信息展示等相关信息。其中目前APP比较多,尤其是领域中的非常多的,可以做为一个新产业来看。   这类程序可以用于文章网站发布,知识分享等。 02 ———— 【安装使用】 功能说明 前端开源程序+后端易优CMS+标签化API接口,是一套开源、快速搭建个性化需求的程序CMS。 优化:程序界面样式。 注意:此程序需要易优后台为1.5.9版本,并且需要覆盖最新补丁包,方可使用 项目优点 易用:十分钟搭建一个企业程序,后台依赖成熟的易优CMS内容系统,简单易用。 文章发布源代码和文章均来源于各类开源网站社区或者是编在项目中、学习中整理的一些实例项目。主要目的是将开源代码分享给喜欢编程、有梦想的程序员,希望能帮助到你们与他们共同成长。

    12530

    有赞灰度发布与蓝绿发布实践

    二、灰度发布 2.1 什么是灰度发布 灰度发布,是在生产环境稳定集群之外,额外部署一个小规模的灰度集群,并通过流量控制,引入部分流量到灰度集群,进行生产全量发布前的灰度验证。 2.2 发布流程 下面从产品层面介绍一下有赞灰度发布的流程,包括:灰度发布开始、灰度初始化、灰度验证、灰度取消或全量发布灰度发布结束。 (1) 灰度发布开始。 用户从Ops管理系统,进入应用的发布页面,选择发布类型“灰度发布”,开始灰度发布。 (2) 灰度初始化。 店铺id是有赞内部所有请求header或metadata中都会携带的一个字段,我们一般会选择一些内部测试店铺或流量店铺进行灰度验证。请求百分比规则是指按一定百分比概率将请求路由至灰度集群。 (5) 全量发布。如果灰度验证没有发现问题,那么就可以进行新版本的全量发布了。包括:稳定集群全量发布、删除灰度路由规则和灰度集群下线。 (6) 灰度发布结束。 上述流程描述可简化成如下流程图: ?

    1.2K20

    nginx根据ip进行灰度发布

    介绍 之前公司做的都是蓝绿发布灰度也就是基于header,cookie,url,query等等的,但是有的开发想着又能实现根据来源ip做灰度,又能实现蓝绿发布,在这里我写了下简单的实现方式。 2. 解决办法 nginx 负载均衡器判断客户端IP地址,如果是办公室IP,则反向代理到灰度环境;如果不是,则反向代理到生产环境。 ~ / { proxy_redirect off; proxy_pass http://$web_backend; } } 实现效果,办公网访问的是灰度

    39930

    相关产品

    • 小程序安全

      小程序安全

      小程序安全针对小程序不同业务场景提供包括小程序安全加固、小程序安全扫描、小程序渗透测试功能,通过分析仿冒程序,挖掘风险漏洞、保护核心代码等方法保护小程序业务安全、数据安全,降低客户业务风险和资金损失。

    相关资讯

    热门标签

    活动推荐

    扫码关注腾讯云开发者

    领取腾讯云代金券