System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种代码的灰度发布方法、装置、设备及存储介质制造方法及图纸_技高网

一种代码的灰度发布方法、装置、设备及存储介质制造方法及图纸

技术编号:41174895 阅读:2 留言:0更新日期:2024-05-07 22:11
本申请实施例提供了一种代码的灰度发布方法、装置、设备及存储介质,用于保证代码发布质量,并降低集群资源损失概率。包括:将待灰度发布代码部署于灰度环境;利用网关设备按照逐步增加第一数据请求路由至灰度环境的比例的规则将线上环境的第一数据请求路由至灰度环境;利用第一数据请求对待灰度分布代码进行灰度验证;在通过灰度验证后将待灰度发布代码部署于线上环境;利用网关设备按照逐步增加第二数据请求路由至线上环境的比例的规则将灰度环境的第二数据请求路由至线上环境;在利线上环境的数据请求与灰度环境的数据请求达到预设目标时,完成灰度分布。本申请提供的技术方案可以应用于云技术领域。

【技术实现步骤摘要】

本申请涉及计算机领域,尤其涉及一种代码的灰度发布方法、装置、设备及存储介质


技术介绍

1、互联网产品的每一次产品升级总是伴随着各种各样的风险,例如:新旧版本兼容的风险,因用户使用习惯突然改变而造成的用户流失的风险,系统崩溃的风险。为了避免这些风险,当前很多互联网产品的发布都采用了灰度发布的策略。灰度发布又称体验式发布,是指在黑与白之间,能够平滑过渡的一种发布方式。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。灰度发布的主要思想就是把影响集中到一个点,然后再发散到一个面,出现意外情况时,很容易回退,避免造成大范围的影响。具体来说,当一款互联网产品的新服务上线时,只允许一部分用户使用新服务内容(或可称之为灰度服务内容),而让其他用户继续使用旧服务内容,如果使用新服务的用户对新服务内容没有什么反对意见,那么逐步扩大新服务的发布范围,直至最终把所有用户都迁移到新服务上来。

2、而目前灰度发布一般采用蓝绿部署的方式,所谓的蓝绿部署是一种不需要停机的部署方式,是一种以可预测的方式发布应用的技术。蓝绿部署方式可以减少发布过程中服务停止的时间。蓝绿部署在实现原理上就是通过冗余来解决问题。其中,线上服务的部署集群叫做蓝集群,把灰度服务部署的集群叫做绿集群。

3、但是目前的蓝绿部署的灰度发布方式时仅支持部分数据流量进行灰度路由,无法对代码进行全部的线上数据的灰度验证,且服务集群之间并不支持相互路由。


技术实现思路

1、本申请实施例提供了一种代码的灰度发布方法、装置、设备及存储介质,用于实现线上环境与灰度环境之间进行相互路由,使得该灰度环境可以逐步利用线上环境中的数据进行灰度验证,从而可以很好的保证代码发布质量,同时该灰度环境与该线上环境可以同时运行,从而降低集群资源损失概率。

2、有鉴于此,本申请一方面提供一种代码的灰度发布方法,包括:将待灰度发布代码部署于灰度环境,该灰度环境包括预先构建的互联网灰度服务集群;利用网关设备按照第一引流规则将线上环境的第一数据请求路由至该灰度环境,该线上环境包括互联网现网服务集群,该第一引流规则为逐步增加该第一数据请求路由至该灰度环境的比例;利用该第一数据请求对该待灰度分布代码进行灰度验证,在该待灰度发布代码通过灰度验证之后,将该待灰度发布代码部署于该线上环境;利用该网关设备按照第二引流规则将该灰度环境的第二数据请求路由至该线上环境,该第二引流规则为逐步增加该第二数据请求路由至该线上环境的比例;在利用该网关设备路由至该线上环境的数据请求与路由至该灰度环境的数据请求达到预设目标时,结束该待灰度发布代码的灰度分布。

3、本申请另一方面提供一种灰度发布装置,包括:部署模块,用于将该待灰度发布代码部署于灰度环境,该灰度环境包括预先构建的互联网灰度服务集群;

4、路由模块,用于利用网关设备按照第一引流规则将线上环境的第一数据请求路由至该灰度环境,该线上环境包括互联网现网服务集群,该第一引流规则为逐步增加该第一数据请求路由至该灰度环境的比例;

5、处理模块,用于利用该第一数据请求对该待灰度分布代码进行灰度验证;

6、该部署模块,用于在该待灰度发布代码通过灰度验证之后,将该待灰度发布代码部署于该线上环境;

7、该路由模块,用于利用该网关设备按照第二引流规则将该灰度环境的第二数据请求路由至该线上环境,该第二引流规则为逐步增加该第二数据请求路由至该线上环境的比例;

8、发布模块,用于在利用该网关设备路由至该线上环境的数据请求与路由至该灰度环境的数据请求达到预设目标时,结束该待灰度发布代码的灰度分布。

9、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,在该第一数据请求用于请求定时任务且该灰度环境的服务集群与该线上环境的服务集群为物理隔离时,该处理模块,具体用于根据该第一数据请求修改第一定时任务的运行环境,并发布第一广播消息至该线上环境的服务集群和该灰度环境的服务集群,所第一述广播消息用于携带该第一定时任务的运行环境;

10、控制该线上环境的服务集群和该灰度环境的服务集群监测该广播消息;

11、在根据该广播消息确定该第一定时任务的运行环境与当前运行环境不一致时,控制该线上环境的服务集群或该灰度环境的服务集群下线该第一定时任务;

12、在根据该广播消息确定该第一定时任务的运行环境与当前运行环境一致时,控制该线上环境的服务集群或该灰度环境的服务集群重新注册该第一定时任务。

13、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,在该第一数据请求用于请求数据同步任务且该灰度环境的服务集群与该线上环境的服务集群为物理隔离时,该处理模块,具体用于根据该第一数据请求修改数据同步任务的运行环境,并发布第二广播消息至该线上环境的服务集群和该灰度环境的服务集群,该第二广播消息用于携带该数据同步任务的运行环境;

14、控制该线上环境的服务集群和该灰度环境的服务集群监测该第二广播消息;

15、在根据该广播消息确定该数据同步任务的运行环境与当前运行环境不一致时,控制该线上环境的服务集群或该灰度环境的服务集群订阅该数据同步任务;

16、在根据该广播消息确定该数据同步任务的运行环境与当前运行环境一致时,控制该线上环境的服务集群或该灰度环境的服务集群取消订阅该数据同步任务。

17、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该路由模块,具体用于利用该网关设备获取该第一数据请求,并利用该网关设备的谓词工厂获取该第一数据请求携带的第一用户标识;

18、在确定该第一用户标识符合该第一引流规则时,将该第一数据请求路由至该灰度环境;

19、该利用该网关设备按照第二引流规则将该灰度环境的第二数据请求路由至该线上环境包括:

20、利用该网关设备获取该第二数据请求,并利用该网关设备的谓词工厂获取该第二数据请求携带的第二用户标识;

21、在确定该第二用户标识符合该第二引流规则时,将该第二数据请求路由至该线上环境。

22、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该第一用户标识为电商用户标识或者电商商户标识,该第二用户标识为电商用户标识或者电商商户标识。

23、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该灰度环境的服务集群与该线上环境的服务集群部署于不同的机房区域。

24、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该处理模块,还用于获取该线上环境的数据流量以及该灰度环境的数据流量;

25、根据该线上环境的数据流量以及该灰度环境的数据流量构建发布流量曲线图;

26、利用该发布流量曲线图监测该灰度发布。

27、在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该第一引流规本文档来自技高网...

【技术保护点】

1.一种代码的灰度发布方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在所述第一数据请求用于请求定时任务且所述灰度环境的服务集群与所述线上环境的服务集群为物理隔离时,所述利用所述第一数据请求对所述待灰度分布代码进行灰度验证包括:

3.根据权利要求1或2所述的方法,其特征在于,在所述第一数据请求用于请求数据同步任务且所述灰度环境的服务集群与所述线上环境的服务集群为物理隔离时,所述利用所述第一数据请求对所述待灰度分布代码进行灰度验证包括:

4.根据权利要求1或2所述的方法,其特征在于,所述利用网关设备按照第一引流规则将线上环境的第一数据请求路由至所述灰度环境包括:

5.根据权利要求4所述的方法,其特征在于,所述第一用户标识为电商用户标识或者电商商户标识,所述第二用户标识为电商用户标识或者电商商户标识。

6.根据权利要求1或2所述的方法,其特征在于,所述灰度环境的服务集群与所述线上环境的服务集群部署于不同的机房区域。

7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:

8.一种灰度发布装置,其特征在于,包括:

9.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;

10.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至7中任一项所述的方法。

...

【技术特征摘要】

1.一种代码的灰度发布方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,在所述第一数据请求用于请求定时任务且所述灰度环境的服务集群与所述线上环境的服务集群为物理隔离时,所述利用所述第一数据请求对所述待灰度分布代码进行灰度验证包括:

3.根据权利要求1或2所述的方法,其特征在于,在所述第一数据请求用于请求数据同步任务且所述灰度环境的服务集群与所述线上环境的服务集群为物理隔离时,所述利用所述第一数据请求对所述待灰度分布代码进行灰度验证包括:

4.根据权利要求1或2所述的方法,其特征在于,所述利用网关设备按照第一引流规则将线上环境的第一数据请求路由至所述灰度环境包括:<...

【专利技术属性】
技术研发人员:邓鹏鑫江宇霆
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1