基于网关的微服务灰度发布方法、装置、设备及存储介质与流程

文档序号:28856230发布日期:2022-02-11 18:48阅读:117来源:国知局
基于网关的微服务灰度发布方法、装置、设备及存储介质与流程

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.若所述目标灰度发布规则的格式为预设类型,则将所述目标灰度发布规则发送至网关;
28.若所述目标灰度发布规则的格式不为预设类型,则对所述目标灰度发布规则进行格式转换,并将转换后的目标灰度发布规则发送至网关。
29.为实现上述目的,本发明还提供一种基于网关的微服务灰度发布装置,所述基于网关的微服务灰度发布装置包括:
30.配置模块,用于当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;
31.更新模块,用于基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;
32.路由模块,用于基于目标微服务列表与目标灰度发布规则,将所述灰度发布请求路由至微服务器。
33.进一步地,为实现上述目的,本发明还提供一种基于网关的微服务灰度发布设备,所述基于网关的微服务灰度发布设备包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的基于网关的微服务灰度发布程序,所述基于网关的微服务灰度发布程序被所述处理器执行时实现上述的基于网关的微服务灰度发布方法的步骤。
34.进一步地,为实现上述目的,本发明还提供一种存储介质,所述存储介质上存储有基于网关的微服务灰度发布程序,所述基于网关的微服务灰度发布程序被处理器执行时实现上述的基于网关的微服务灰度发布方法的步骤。
35.本发明实施例提供一种基于网关的微服务灰度发布方法、装置、设备及存储介质,当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器。本发明在接收到灰度发布请求时,通过百分比权重或自定义属性的方式,配置用于对路由到更新应用的用户流量进行分配的目标灰度发布规则,并通过网关从服务注册中心获取微服务信息更新得到目标微服务列表,最后根据目标灰度发布规则与目标微服务列表将灰度发布请求路由至微服务器,实现灵活地控制路由到更新应用的用户流量,提高对更新应用进行发布的灵活性。
附图说明
36.图1为本发明基于网关的微服务灰度发布方法实施例方案涉及的硬件运行环境的结构示意图;
37.图2为本发明基于网关的微服务灰度发布方法第一实施例的流程示意图;
38.图3本发明基于网关的微服务灰度发布方法的整体流程示意图;
39.图4为本发明基于网关的微服务灰度发布方法第二实施例的流程示意图;
40.图5为本发明基于网关的微服务灰度发布装置较佳实施例的功能模块示意图。
41.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
42.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
43.本发明实施例提供一种基于网关的微服务灰度发布方法、装置、设备及存储介质,当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器。本发明在接收到灰度发布请求时,通过百分比权重或自定义属性的方式,配置用于对路由到更新应用的用户流量进行分配的目标灰度发布规则,并通过网关从服务注册中心获取微服务信息更新得到目标微服务列表,最后根据目标灰度发布规则与目标微服务列表将灰度发布请求路由至微服务器,实现灵活地控制路由到更新应用的用户流量,提高对更新应用进行发布的灵活性。
44.如图1所示,图1是本发明实施例方案涉及的硬件运行环境的基于网关的微服务灰度发布设备结构示意图。
45.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合
地使用。
46.本发明实施例基于网关的微服务灰度发布设备可以是pc,也可以是平板电脑、便携计算机等可移动式终端设备。
47.如图1所示,该基于网关的微服务灰度发布设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
48.本领域技术人员可以理解,图1中示出的基于网关的微服务灰度发布设备结构并不构成对基于网关的微服务灰度发布设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
49.如图1所示,作为一种存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及基于网关的微服务灰度发布程序。
50.在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的基于网关的微服务灰度发布程序,并执行以下操作:
51.当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;
52.基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;
53.基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器。
54.进一步地,所述基于百分比权重方式或自定义属性方式配置目标灰度发布规则的步骤包括:
55.构建初始灰度发布规则,检测灰度发布规则的配置方式;
56.若所述灰度发布规则的配置方式为百分比权重方式,则根据所述百分比权重方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则;
57.若所述灰度发布规则的配置方式为自定义属性方式,则根据所述自定义属性方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则。
58.进一步地,所述若所述灰度发布规则的配置方式为所述百分比权重方式,则根据百分比权重方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则的步骤包括:
59.若所述灰度发布规则的配置方式为百分比权重方式,则获取所述百分比权重方式对应的第一规则信息,并获取所述灰度发布请求对应的请求信息;
60.根据所述第一规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
61.进一步地,所述若所述灰度发布规则的配置方式为所述自定义属性方式,则根据
自定义属性方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则的步骤包括:
62.若所述灰度发布规则的配置方式为自定义属性方式,则获取所述自定义属性方式对应的第二规则信息,并获取所述灰度发布请求对应的请求信息;
63.根据所述第二规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
64.进一步地,所述基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表的步骤包括:
65.基于所述网关获取服务注册中心的微服务信息,提取所述微服务信息中的新增版本号信息与新增版本号对应的新增接口参数信息;
66.根据所述新增版本号信息与所述新增接口参数信息,对所述网关的微服务列表进行更新,得到目标微服务列表。
67.进一步地,所述基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器的步骤包括:
68.确定所述目标微服务列表与所述灰度发布规则是否存在相同的版本号;
69.若存在相同的所述版本号,则基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至所述版本号对应的微服务器。
70.进一步地,所述将所述目标灰度发布规则发送至网关的步骤包括:
71.确定所述目标灰度发布规则的格式是否为预设类型;
72.若所述目标灰度发布规则的格式为预设类型,则将所述目标灰度发布规则发送至网关;
73.若所述目标灰度发布规则的格式不为预设类型,则对所述目标灰度发布规则进行格式转换,并将转换后的目标灰度发布规则发送至网关。
74.为了更好的理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
75.为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
76.参照图2,本发明第一实施例提供一种基于网关的微服务灰度发布方法的流程示意图。该实施例中,所述基于网关的微服务灰度发布方法包括以下步骤:
77.步骤s10,当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;
78.本实施例中基于网关的微服务灰度发布方法应用于灰度发布系统,系统中至少包含有配置管理器、网关、服务注册中心,其中配置管理器在本实施例中为用于配置目标灰度发布规则的装置,网关是一个网络连接到另一个网络的“关口”,网关在本实施例中用于将用户流量路由至一个或多个版本对应的微服务器,以实现微服务灰度发布,服务注册中心是一个实时存储更新服务提供者信息及该服务的实时调用者信息的数据库,在本实施例中用于接收微服务更新版本的信息并供网关进行调用,以便于完成微服务灰度发布,网关通过网络分别与配置管理器以及服务注册中心通信连接。
79.进一步地,当接收到用户在具有灰度发布需求而发送的灰度发布请求时,系统调用配置管理器,构建初始灰度发布规则,并根据用户的灰度发布需求,通过百分比权重方式或自定义属性方式,对构建的初始灰度发布规则进行配置,得到目标灰度发布规则,其中初始灰度发布规则为具有基本规则信息的文件,百分比权重方式为:一套环境中可以同时运行微服务的多个版本,并指定某个微服务版本的百分比权重,使得位于该百分比范围内的用户流量可以路由到该版本的服务器,而剩余用户流量不会路由到该版本,自定义属性方式为:通过配置自定义的灰度发布规则和微服务版本号的映射,当满足该灰度发布规则时,才会将灰度发布请求路由至该版本的微服务器。进一步地,系统将通过配置管理器配置得到的目标灰度发布规则发送至网关,以供网关通过目标灰度发布规则与目标微服务列表,将灰度发布请求路由至微服务器,完成灰度发布。
80.进一步地,所述将所述目标灰度发布规则发送至网关的步骤包括:
81.步骤s11,确定所述目标灰度发布规则的格式是否为预设类型;
82.步骤s12,若所述目标灰度发布规则的格式为预设类型,则将所述目标灰度发布规则发送至网关;
83.步骤s13,若所述目标灰度发布规则的格式不为预设类型,则对所述目标灰度发布规则进行格式转换,并将转换后的目标灰度发布规则发送至网关。
84.进一步地,为确保网关可以顺利对目标灰度发布规则的内容进行识别,系统需要确保由配置管理器得到的目标灰度发布规则的文件的格式为网关可以识别的格式,本实施例中网关可以识别的灰度发布规则的格式优选为yaml(yet another markup language,仍是一种标记语言)。进一步地,系统获取目标灰度发布规则的文件信息,并识别文件信息中包含的原始文件格式是否为预设类型yaml,若经检测目标灰度发布规则的格式为yaml,则将目标灰度发布规则发送至网关,以便于网关识别目标灰度发布规则的内容,并完成灰度发布;若经检测目标灰度发布规则的格式不是yaml,系统对目标灰度发布规则的格式进行格式转换,具体地,系统根据原始文件格式与预设的yaml格式之间的转换关系,将目标灰度发布规则由原始文件格式转换为预设的yaml格式,并将完成格式转换的目标灰度发布规则发送至网关,以便于网关识别目标灰度发布规则的内容,并完成灰度发布。
85.步骤s20,基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;
86.进一步地,系统调用网关,对服务注册中心存储的微服务信息进行获取,其中微服务信息至少包含微服务的多个旧版本的版本号信息以及多个旧版本对应的接口参数信息。进一步地,系统获取网关中存储的微服务列表,并根据从服务注册中心中获取的微服务信息对微服务列表进行更新,得到包含微服务得最新版本信息的目标微服务列表,以根据网关中存储的目标灰度发布规则与目标微服务列表,完成灰度发布,其中微服务列表存储有一个或多个微服务的信息,一个微服务可以由一个或多个版本,每个版本具有不同的版本号与接口参数。
87.进一步地,所述基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表的步骤包括:
88.步骤s21,基于所述网关获取服务注册中心的微服务信息,提取所述微服务信息中的新增版本号信息与新增版本号对应的新增接口参数信息;
89.步骤s22,根据所述新增版本号信息与所述新增接口参数信息,对所述网关的微服务列表进行更新,得到目标微服务列表。
90.进一步地,系统调用网关,通过网关从服务注册中心中获取其存储的微服务信息,并提取微服务信息中包含的新增版本号信息与新增版本号对应的新增接口参数信息,其中新增版本号信息为用户在对旧版本的微服务进行更新后,为对微服务的新版本与旧版本进行区分而设置的数字序列信息,新增接口参数信息用于通过网关将符合目标灰度发布规则的用户流量路由到新增版本号对应的微服务器。进一步地,系统根据新增版本号信息与新增接口参数信息,对网关的微服务列表进行更新,具体地,系统获取网关中存储的微服务列表,在微服务列表中新增一列微服务项,并在原有列表的基础上,将从微服务信息中提取的新增版本号信息与新增接口参数对应添加至新增的微服务项中,在完成信息的添加后得到目标微服务列表。
91.步骤s30,基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器。
92.进一步地,系统确定目标微服务列表中的版本号是否与目标灰度发布规则中的版本号相同,并在目标微服务列表中的版本号与目标灰度发布规则中的版本号相同时,通过网关将灰度发布请求路由至版本号对应的微服务器,以完成灰度发布。
93.进一步地,所述基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器的步骤包括:
94.步骤s31,确定所述目标微服务列表与所述灰度发布规则是否存在相同的版本号;
95.步骤s32,若存在相同的所述版本号,则基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至所述版本号对应的微服务器。
96.进一步地,系统将网关中的目标微服务列表与目标灰度发布规则进行对比,若目标微服务列表中的版本号与目标灰度发布规则中的版本号相同,则判定达到了灰度发布的条件,通过网关将灰度发布请求路由至版本号对应的微服务器,以完成灰度发布;若目标微服务列表中的版本号与目标灰度发布规则中的版本号不相同,则判定未达到灰度发布的条件,终止灰度发布,并输出灰度发布失败的提示信息,以提示用户进行相应的调整。
97.进一步地,参照图3,图3为本发明基于网关的微服务灰度发布方法的整体流程示意图。
98.进一步地,系统通过配置管理器配置目标灰度发布规则,并将目标灰度发布规则发送至网关,其中配置管理器通过网络与网关通信连接。进一步地,系统调用网关对目标灰度发布规则进行解析,以检测是否满足灰度发布的条件。进一步地,系统通过网关从服务注册中心中获取微服务信息,并根据微服务信息更新微服务列表,得到目标微服务列表,其中网关与服务注册中心通过网络通信连接。进一步地,系统根据目标灰度发布规则与目标微服务列表,通过网关将灰度发布请求路由至微服务器,完成灰度发布。
99.本实施例提供一种基于网关的微服务灰度发布方法、装置、设备及存储介质,当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至微服务器。本发明
在接收到灰度发布请求时,通过百分比权重或自定义属性的方式,配置用于对路由到更新应用的用户流量进行分配的目标灰度发布规则,并通过网关从服务注册中心获取微服务信息更新得到目标微服务列表,最后根据目标灰度发布规则与目标微服务列表将灰度发布请求路由至微服务器,实现灵活地控制路由到更新应用的用户流量,提高对更新应用进行发布的灵活性。
100.进一步地,参照图4,基于本发明基于网关的微服务灰度发布方法的第一实施例,提出本发明基于网关的微服务灰度发布方法的第二实施例,在第二实施例中,所述基于百分比权重方式或自定义属性方式配置目标灰度发布规则的步骤包括:
101.步骤s14,构建初始灰度发布规则,检测灰度发布规则的配置方式;
102.步骤s15,若所述灰度发布规则的配置方式为百分比权重方式,则根据所述百分比权重方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则;
103.步骤s16,若所述灰度发布规则的配置方式为自定义属性方式,则根据所述自定义属性方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则。
104.进一步地,在接收到用户发送的灰度发布请求时,系统构建初始灰度发布规则,并检测用户对于灰度发布规则的配置方式,具体地,在构建初始灰度发布规则的同时,系统输出提示用户选择配置方式的提示信息,并在接收到用户基于提示信息发送的选择指令时,检测选择指令对应的配置方式。进一步地,若检测到灰度发布规则的配置方式为百分比权重方式,则根据百分比权重方式包含的第一规则信息与灰度发布请求对应的请求信息,对构建的初始灰度发布规则进行配置,得到目标灰度发布规则,其中第一规则信息可以为用于配置目标灰度发布规则的权重模板信息,请求信息中包含有用户对于灰度发布设置的条件信息;若检测到灰度发布规则的配置方式为自定义属性方式,则根据自定义属性方式包含的第二规则信息与灰度发布请求对应的请求信息,对构建的初始灰度发布规则进行配置,得到目标灰度发布规则,其中第二规则信息可以为用于配置目标灰度发布规则的自定义模板信息。
105.进一步地,所述若所述灰度发布规则的配置方式为所述百分比权重方式,则根据百分比权重方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则的步骤包括:
106.步骤s151,若所述灰度发布规则的配置方式为百分比权重方式,则获取所述百分比权重方式对应的第一规则信息,并获取所述灰度发布请求对应的请求信息;
107.步骤s152,根据所述第一规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
108.进一步地,若通过对选择指令对应配置方式的检测,确定灰度发布规则的配置方式为百分比权重方式,系统对百分比权重方式进行解析,通过解析得到百分比权重方式对应的第一规则信息。进一步地,系统对灰度发布请求进行解析,通过解析得到灰度发布请求对应的请求信息。进一步地,系统将第一规则信息与请求信息进行适应融合,并将适应融合后的信息添加至初始灰度发布规则,形成目标灰度发布规则。
109.进一步地,所述若所述灰度发布规则的配置方式为所述自定义属性方式,则根据自定义属性方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则的步骤包括:
110.步骤s161,若所述灰度发布规则的配置方式为自定义属性方式,则获取所述自定义属性方式对应的第二规则信息,并获取所述灰度发布请求对应的请求信息;
111.步骤s162,根据所述第二规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
112.进一步地,若通过对选择指令对应配置方式的检测,确定灰度发布规则的配置方式为自定义属性方式,系统对自定义属性方式进行解析,通过解析得到自定义属性方式对应的第二规则信息。进一步地,系统对灰度发布请求进行解析,通过解析得到灰度发布请求对应的请求信息。进一步地,系统将第二规则信息与请求信息进行适应融合,并将适应融合后的信息添加至初始灰度发布规则,形成目标灰度发布规则。
113.本实施例通过检测用户对于灰度发布规则的配置方式,并根据用户所选择的不同配置方式,灵活地对初始灰度发布规则进行配置,得到对用户流量进行路由的目标灰度发布规则,以便于根据目标灰度发布规则与目标微服务列表,完成灰度发布,实现灵活地控制路由到更新应用的用户流量,提高对更新应用进行发布的灵活性。
114.进一步地,本发明还提供一种基于网关的微服务灰度发布装置。
115.参照图5,图5为本发明基于网关的微服务灰度发布装置第一实施例的功能模块示意图。
116.所述基于网关的微服务灰度发布装置包括:
117.配置模块10,用于当接收到灰度发布请求时,基于百分比权重方式或自定义属性方式配置目标灰度发布规则,并将所述目标灰度发布规则发送至网关;
118.更新模块20,用于基于所述网关获取服务注册中心的微服务信息,并根据所述微服务信息对所述网关的微服务列表进行更新,得到目标微服务列表;
119.路由模块30,用于基于目标微服务列表与目标灰度发布规则,将所述灰度发布请求路由至微服务器。
120.进一步地,所述配置模块10包括:
121.构建单元,用于构建初始灰度发布规则,检测灰度发布规则的配置方式;
122.第一配置单元,用于若所述灰度发布规则的配置方式为百分比权重方式,则根据所述百分比权重方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则;
123.第二配置单元,用于若所述灰度发布规则的配置方式为自定义属性方式,则根据所述自定义属性方式对所述初始灰度发布规则进行配置,得到目标灰度发布规则。
124.进一步地,所述配置模块10还包括:
125.第一获取单元,用于若所述灰度发布规则的配置方式为百分比权重方式,则获取所述百分比权重方式对应的第一规则信息,并获取所述灰度发布请求对应的请求信息;
126.第三配置单元,用于根据所述第一规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
127.进一步地,所述配置模块10还包括:
128.第二获取单元,用于若所述灰度发布规则的配置方式为自定义属性方式,则获取所述自定义属性方式对应的第二规则信息,并获取所述灰度发布请求对应的请求信息;
129.第四配置单元,用于根据所述第二规则信息与所述请求信息,对初始灰度发布规则进行配置,得到目标灰度发布规则。
130.进一步地,所述配置模块10还包括:
131.第一确定单元,用于确定所述目标灰度发布规则的格式是否为预设类型;
132.发送单元,用于若所述目标灰度发布规则的格式为预设类型,则将所述目标灰度发布规则发送至网关;
133.转换单元,用于若所述目标灰度发布规则的格式不为预设类型,则对所述目标灰度发布规则进行格式转换,并将转换后的目标灰度发布规则发送至网关。
134.进一步地,所述更新模块20包括:
135.提取单元,用于基于所述网关获取服务注册中心的微服务信息,提取所述微服务信息中的新增版本号信息与新增版本号对应的新增接口参数信息;
136.更新单元,用于根据所述新增版本号信息与所述新增接口参数信息,对所述网关的微服务列表进行更新,得到目标微服务列表。
137.进一步地,所述路由模块30包括:
138.第二确定单元,用于确定所述目标微服务列表与所述灰度发布规则是否存在相同的版本号;
139.路由单元,用于若存在相同的所述版本号,则基于所述目标微服务列表与所述目标灰度发布规则,将所述灰度发布请求路由至所述版本号对应的微服务器。
140.此外,本发明还提供一种存储介质,所述存储介质优选为计算机可读存储介质,其上存储有基于网关的微服务灰度发布程序,所述基于网关的微服务灰度发布程序被处理器执行时实现上述基于网关的微服务灰度发布方法各实施例的步骤。
141.在本发明基于网关的微服务灰度发布装置和计算机可读介质的实施例中,包含了上述基于网关的微服务灰度发布方法各实施例的全部技术特征,说明和解释内容与上述基于网关的微服务灰度发布方法各实施例基本相同,在此不做赘述。
142.需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
143.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
144.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是固定终端,如物联网智能设备,包括智能空调、智能电灯、智能电源、智能路由器等智能家居;也可以是移动终端,包括智能手机、可穿戴的联网ar/vr装置、智能音箱、自动驾驶汽车等诸多联网设备)执行本发明各个实施例所述的方法。
145.以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1