一种全链路灰度的实现方法、系统、装置制造方法及图纸

技术编号:37966334 阅读:9 留言:0更新日期:2023-06-30 09:41
本申请公开了一种全链路灰度的实现方法、系统、装置,其中,该方法包括:响应于用户的用户请求,获取该用户请求中携带的环境标签,其中,该环境标签包括第一环境标签或者第二环境标签,该第二环境标签为该第一环境标签对应的灰度版本标签;根据该环境标签,将该用户请求路由至该第一环境标签对应的第一数据库或者该第二环境标签对应的第二数据库。通过本申请解决了相关技术中在实现数据库隔离时,代码中需要有不同的配置导致维护成本较高的技术问题,达到了降低维护成本的技术效果。达到了降低维护成本的技术效果。达到了降低维护成本的技术效果。

【技术实现步骤摘要】
一种全链路灰度的实现方法、系统、装置


[0001]本申请涉及到微服务治理领域,具体而言,涉及一种全链路灰度的实现方法、系统、装置。

技术介绍

[0002]在全链路灰度日常环境隔离的场景中,关于数据库实例物理隔离,主要是通过不同环境配置不同数据库实例的连接串、用户名、密码等信息,不同的环境连接不同的数据库实例实现物理上的数据隔离,但是带来的代价就是在代码层面,针对不同的环境需要有不同的配置,进而导致维护成本较高。针对该技术问题,相关技术中尚未提出有效地解决方案。

技术实现思路

[0003]本申请实施例提供了一种全链路灰度的实现方法、系统、装置、电子设备以及可读存储介质,以至少解决相关技术中在实现数据库隔离时,代码中需要有不同的配置导致维护成本较高的技术问题。
[0004]根据本申请的一个方面,提供了一种全链路灰度的实现方法,包括:响应于用户的用户请求,获取所述用户请求中携带的环境标签,其中,所述环境标签包括第一环境标签或者第二环境标签,所述第二环境标签为所述第一环境标签对应的灰度版本标签;根据所述环境标签,将所述用户请求路由至所述第一环境标签对应的第一数据库或者所述第二环境标签对应的第二数据库。
[0005]可选地,在获取到所述第二环境标签后,所述方法还包括:获取所述用户的属性信息;根据所述第二环境标签,将所述用户请求路由至所述第二环境标签对应的第二数据库包括:根据所述第二环境标签和所述用户的属性信息,将所述用户请求路由至所述第二数据库的指定存储位置。
[0006]可选地,所述第二数据库对应多个用户,以在所述多个用户的用户请求携带的环境标签为第二环境标签时,将所述多个用户的用户请求路由至所述第二数据库,每个用户对应的存储位置通过用户表的方式进行隔离;所述存储位置用于存储对应用户的灰度流量的数据。
[0007]可选地,所述第二数据库的灰度能力以所述用户表为单位。
[0008]可选地,根据所述第二环境标签和所述用户的属性信息,将所述用户请求路由至所述第二数据库的指定存储位置包括:在通过所述第二环境标签确定所述用户请求要被路由至所述第二数据库时,根据所述用户的属性信息,在所述第二数据库中查找与所述用户的属性信息对应的目标存储位置;将所述用户请求路由至所述目标存储位置。
[0009]可选地,在将所述用户请求路由至所述目标存储位置之后,所述方法还包括:根据所述用户的属性信息和所述第二环境标签,将所述用户请求设置为操作所述目标存储位置的请求。
[0010]可选地,所述获取用户请求中携带的环境标签包括:通过JavaAgent在Java数据库连接接口注入指定程序;通过所述指定程序,从所述用户请求中获取所述环境标签。
[0011]根据本申请的另一个方面,提供了一种全链路灰度实现系统,包括:响应于用户的用户请求,获取所述用户请求中携带的环境标签,其中,所述环境标签包括第一环境标签或者第二环境标签,所述第二环境标签为所述第一环境标签对应的灰度版本标签;根据所述环境标签,将所述用户请求路由至所述第一环境标签对应的第一数据库或者所述第二环境标签对应的第二数据库;第一数据库,所述第一数据库包括多个,所述多个第一数据库分别和多个用户对应;第二数据库,所述多个用户共享所述第二数据库。
[0012]可选地,所述系统还包括:第二路由装置,用于在获取到所述第二环境标签后,获取所述用户的属性信息;根据所述第二环境标签和所述用户的属性信息,将所述用户请求路由至所述第二数据库的指定存储位置。
[0013]根据本申请的再一个方面,提供了一种全链路灰度的实现装置,包括:获取模块,用于响应于用户的用户请求,获取所述用户请求中携带的环境标签,其中,所述环境标签包括第一环境标签或者第二环境标签,所述第二环境标签为所述第一环境标签对应的灰度版本标签;路由模块,用于根据所述环境标签,将所述用户请求路由至所述第一环境标签对应的第一数据库或者所述第二环境标签对应的第二数据库。
[0014]根据本申请的另一个方面,还提供了一种电子设备,包括存储器和处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述的方法步骤。
[0015]根据本申请的另一个方面,还提供了一种可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现上述的方法步骤。
[0016]在本申请实施例中,响应于用户的用户请求,获取该用户请求中携带的环境标签,其中,该环境标签包括第一环境标签或者第二环境标签,该第二环境标签为该第一环境标签对应的灰度版本标签;根据该环境标签,将该用户请求路由至该第一环境标签对应的第一数据库或者该第二环境标签对应的第二数据库。也就是说,在本申请实施例,通过注入路由程序,该路由程序可以从用户请求中获取环境标签,根据环境标签,将用户请求路由至第一环境标签对应的第一数据库或者第二环境标签对应的第二数据库,即用户无需修改一行代码与配置,即可实现数据库隔离,进而达到了降低维护成本的技术效果。
附图说明
[0017]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1是相关技术中全链路灰度能力示意图;
[0019]图2是根据本申请实施例的一种全链路灰度的实现方法流程图;
[0020]图3是根据本申请实施例的另一种全链路灰度的实现方法流程图;
[0021]图4是根据本申请实施例的一种全链路灰度的实现系统图;
[0022]图5是根据本申请实施例的另一种全链路灰度的实现系统图;
[0023]图6是根据本申请实施例的一种全链路灰度的实现装置示意图。
具体实施方式
[0024]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0025]需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0026]实施例一
[0027]本申请实施例主要是应用于微服务架构下,其中,微服务架构是一类将单一应用程序作为由众多小型服务构成之套件加以开发的方式,其中各项服务都拥有自己的进程并利用轻量化机制实现通信。,在该架构中,服务之间的依赖关系错综复杂,有时某个功能发版依赖多个服务同时升级上线,期望可以对这些服务的新版本同时进行小流量灰度验证,于是就有了全链路灰度这一场景。关于全链路灰度能力说明如下:通过构建从网关到整个后端服务的环境隔离来对多个不同版本的服务进行灰度验证。在发布过程中,只需部署服务的灰度版本,流量在调用链路上流转时,由流经的网关、各个中间件以及各个微服务来识别灰度流量,并动态转发至对应服务的灰度版本。具体参见图1所示。正式环境包括服务A、服务B、服务C、本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种全链路灰度的实现方法,其特征在于,包括:响应于用户的用户请求,获取所述用户请求中携带的环境标签,其中,所述环境标签包括第一环境标签或者第二环境标签,所述第二环境标签为所述第一环境标签对应的灰度版本标签;根据所述环境标签,将所述用户请求路由至所述第一环境标签对应的第一数据库或者所述第二环境标签对应的第二数据库。2.根据权利要求1所述的方法,其特征在于,在获取到所述第二环境标签后,所述方法还包括:获取所述用户的属性信息;根据所述第二环境标签,将所述用户请求路由至所述第二环境标签对应的第二数据库包括:根据所述第二环境标签和所述用户的属性信息,将所述用户请求路由至所述第二数据库的指定存储位置。3.根据权利要求2所述的方法,其特征在于,所述第二数据库对应多个用户,以在所述多个用户的用户请求携带的环境标签为第二环境标签时,将所述多个用户的用户请求路由至所述第二数据库;每个用户对应的存储位置通过用户表的方式进行隔离;所述存储位置用于存储对应用户的灰度流量的数据。4.根据权利要求3所述的方法,其特征在于,所述第二数据库的灰度能力以所述用户表为单位。5.根据权利要求2所述的方法,其特征在于,根据所述第二环境标签和所述用户的属性信息,将所述用户请求路由至所述第二数据库的指定存储位置包括:在通过所述第二环境标签确定所述用户请求要被路由至所述第二数据库时,根据所述用户的属性信息,在所述第二数据库中查找与所述用户的属性信息对应的目标存储位置;将所述用户请求路由至所述目标存储位置。6.根据权利要求5所述的方法,其特征在于,在将所述用户请求路由至所述目标存储位置之后,所述方法还包括:根据所述用户的属性信息和所述第二环境标签,将所述用户请求设置为操作所述目标存储位置的请求。7.根据权利要求1所述的方法,其特...

【专利技术属性】
技术研发人员:泮圣伟林佳梁
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1