一种基于Nacos的全链路灰度发布方法和装置与流程

文档序号:37282215发布日期:2024-03-12 21:22阅读:11来源:国知局
一种基于Nacos的全链路灰度发布方法和装置与流程

本申请涉及计算机,尤其涉及一种基于nacos的全链路灰度发布方法和装置。


背景技术:

1、灰度发布是指在软件产品的迭代中,将旧版本服务平滑过度到新版本服务的过程。

2、目前的灰度发布方法通常是需要人为参加的,容易因为人为因素导致发布过程中出现错误和延误,并且无法根据实际运行情况动态调整发布策略。这种灰度发布方法成本高、准确性低和及时性低。


技术实现思路

1、本申请提出一种基于nacos的全链路灰度发布方法和装置,以实现目前的灰度发布方法中无需人为参加,解决成本高、准确性低和及时性低的问题。nacos是动态命名和配置服务(dynamic naming and configuration service)的首字母简称,是一个更易于构建云原生应用的动态服务注册与发现、配置管理和服务管理平台提供了一组简单易用的特性集,帮助用户快速实现动态服务发现、服务配置、服务元数据及流量管理。

2、第一方面,本申请实施例提供一种基于nacos的全链路灰度发布方法,应用于灰度发布系统的nacos服务器,所述灰度发布系统包括所述nacos服务器、开发端的第一电子设备和客户端的第二电子设备,所述方法包括:

3、获取来自所述第一电子设备的注册请求,所述注册请求中包括需要进行灰度发布的目标应用和所述目标应用的灰度标识以及灰度规则;

4、根据所述注册请求将所述灰度标识和所述灰度规则存储到所述nacos服务器的数据库中;

5、获取来自所述第二电子设备的第一请求报文;

6、解析所述第一请求报文,获取请求应用和请求标识;

7、确定所述请求应用是否为所述目标应用;

8、若所述请求应用为所述目标应用,则根据所述请求标识确定所述第二电子设备是否符合所述灰度规则;若符合所述灰度规则,则将所述第一请求报文转发至所述目标应用所在的灰度环境;若不符合所述灰度规则,则将所述第一请求报文转发至所述目标应用所在的生产环境;

9、若所述请求应用不为所述目标应用,则根据所述请求标识将所述第一请求报文转发至所述请求标识对应的应用所在的生产环境。

10、第二方面,本申请实施例提供了一种基于nacos的全链路灰度发布的装置,应用于灰度发布系统的nacos服务器,所述灰度发布系统包括所述nacos服务器、开发端的第一电子设备和客户端的第二电子设备,所述装置包括:

11、第一获取单元,用于获取来自所述第一电子设备的注册请求,所述注册请求中包括需要进行灰度发布的目标应用和所述目标应用的灰度标识以及灰度规则;

12、存储单元,用于根据所述注册请求将所述灰度标识和所述灰度规则存储到所述nacos服务器的数据库中;

13、第二获取单元,用于获取来自所述第二电子设备的第一请求报文;

14、解析单元,用于解析所述第一请求报文,获取请求应用和请求标识;

15、确定单元,用于确定所述请求应用是否为所述目标应用;

16、第一执行单元,用于若所述请求应用为所述目标应用,则根据所述请求标识确定所述第二电子设备是否符合所述灰度规则;若符合所述灰度规则,则将所述第一请求报文转发至所述目标应用所在的灰度环境;若不符合所述灰度规则,则将所述第一请求报文转发至所述目标应用所在的生产环境;

17、第二执行单元,用于若所述请求应用不为所述目标应用,则根据所述请求标识将所述第一请求报文转发至所述请求标识对应的应用所在的生产环境。

18、第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述一个或多个程序包括用于执行如上所述方法的步骤的指令。

19、第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序/指令,该计算机程序/指令被处理器执行以实现上述方法的步骤。

20、可以看出,本实例中,nacos服务器首先获取来自第一电子设备的注册请求,注册请求中包括需要进行灰度发布的目标应用和目标应用的灰度标识以及灰度规则;然后根据注册请求将灰度标识和灰度规则存储到nacos服务器的数据库中;然后获取来自第二电子设备的第一请求报文;再然后解析第一请求报文,获取请求应用和请求标识;最后确定请求应用是否为目标应用;若请求应用为目标应用,则根据请求标识确定第二电子设备是否符合灰度规则;若符合灰度规则,则将第一请求报文转发至目标应用所在的灰度环境;若不符合灰度规则,则将第一请求报文转发至目标应用所在的生产环境;若请求应用不为目标应用,则根据请求标识将第一请求报文转发至请求标识对应的应用所在的生产环境。

21、这样,本方案通过使用nacos作为服务注册和发现中心,将注册请求对应的目标应用、灰度标识和灰度规则注册到服务器中,并将第一请求报文发送到服务器中,获取对应的请求应用和请求标识,先判断请求应用是否为目标应用,若请求应用不是目标应用,则将请求报文转发至生产环境,若请求应用是目标应用,根据请求标识判断第二电子设备是否符合灰度规则,从而将第一请求报文转发至灰度环境/生产环境。这样可以使得灰度发布过程中无需人为参与,降低了成本,提高了准确性,提高了灰度发布效率。



技术特征:

1.一种基于nacos的全链路灰度发布方法,其特征在于,应用于灰度发布系统的nacos服务器,所述灰度发布系统包括所述nacos服务器、开发端的第一电子设备和客户端的第二电子设备,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述第一请求报文中包括头文件,所述解析所述第一请求报文,包括:

3.根据权利要求1或2所述的方法,其特征在于,所述灰度规则中包括目标请求频率和目标地区,所述根据所述请求标识确定所述第二电子设备是否符合所述灰度规则,包括:

4.根据权利要求1所述的方法,其特征在于,所述根据所述请求标识确定所述第二电子设备是否符合所述灰度规则之前,所述方法包括:

5.根据权利要求4所述的方法,其特征在于,所述根据所述转发路径转发所述第一请求报文之后,所述方法还包括:

6.根据权利要求1-5中任一项所述的方法,其特征在于,所述将所述请求报文转发至所述目标应用所在的灰度环境之后,所述方法还包括:

7.根据权利要求6所述的方法,其特征在于,所述监控数据包括所述请求报文的错误率和所述请求应用的响应时间,根据所述监控数据获取监控报告,包括:

8.一种基于nacos的全链路灰度发布装置,其特征在于,应用于灰度发布系统的nacos服务器,所述灰度发布系统包括所述nacos服务器、开发端的第一电子设备和客户端的第二电子设备,所述装置包括:

9.一种电子设备,其特征在于,包括处理器、存储器,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述一个或多个程序包括用于执行如权利要求1-7任一项所述方法的步骤的指令。

10.一种计算机可读存储介质,其上存储有计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行实现权利要求1-7任一项所述方法的步骤。


技术总结
本申请提供一种基于Nacos的全链路灰度发布方法和装置,包括:获取来自第一电子设备的注册请求;根据注册请求将灰度标识和灰度规则存储到Nacos服务器的数据库中;获取来自第二电子设备的第一请求报文;解析第一请求报文,获取请求应用和请求标识;确定请求应用是否为目标应用;若请求应用为目标应用,则根据请求标识确定第二电子设备是否符合灰度规则将第一请求报文转发至目标应用所在的灰度环境或生产环境;若请求应用不为目标应用,则根据请求标识将第一请求报文转发至请求标识对应的应用所在的生产环境。本申请不仅能够降低灰度发布成本,还能提高准确性和及时性。

技术研发人员:苏祺云,张端锋,黄楚恩,金志
受保护的技术使用者:深圳市凯迪仕智能科技股份有限公司
技术研发日:
技术公布日:2024/3/11
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1