本申请涉及计算机,尤其涉及一种微服务发布方法、装置、设备以及存储介质。
背景技术:
1、互联网产品应用程序在启动和运行的时候需要读取一些参数配置,如连接数据库的用户名和密码、环境参数、业务参数等,以达到改变相应功能的目的。目前,主要利用配置中心将参数配置与应用程序分离,对参数配置进行统一管理。
2、但是,相关技术中,当多个微服务的配置参数需要进行变更时,配置中心只能针对单个微服务进行配置参数变更,而无法支持多微服务配置参数的合并变更。
技术实现思路
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、其中,所述第一公式为:m=reduceappid.hash()/10000,其中,reduceappid.hash表示所述哈希值,m表示第一数值;
31、基于第二公式,获得所述预设流量中蓝版本占比在预设维度中的第二数值;
32、其中,所述第二公式为:n=10000*p;其中,p表示预设流量中蓝版本占比,n表示第二数值。
33、第二方面,本申请提供一种微服务发布装置,所述微服务发布装置包括:
34、第一确定模块,用于确定微服务组中各微服务的待配置版本;
35、第二确定模块,用于基于各所述待配置版本的版本类型,确定各所述微服务的版本标识;所述版本类型为蓝版本或者绿版本;
36、获得模块,用于基于预设编码规则,对所有所述版本标识进行编码,获得所述微服务组的总版本编码信息;
37、生成模块,用于基于所述总版本编码信息,获得各所述待配置版本的配置文件,生成参数配置总体文件;
38、发送模块,用于发送所述参数配置总体文件至实例。
39、第三方面,本申请提供一种配置中心,包括:处理器,存储器以及存储在所述存储器中的微服务发布程序,所述微服务发布程序被所述处理器运行时实现如上任一项所述微服务发布方法的步骤。
40、第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务发布程序,所述微服务发布程序被处理器执行时实现如上任一项所述的微服务发布方法。
41、本申请实施例提出的一种微服务发布方法,确定微服务组中各微服务的待配置版本;基于各所述待配置版本的版本类型,确定各所述微服务的版本标识;所述版本类型为蓝版本或者绿版本;基于预设编码规则,对所有所述版本标识进行编码,获得所述微服务组的总版本编码信息;基于所述总版本编码信息,获得各所述待配置版本的配置文件,生成参数配置总体文件;发送所述参数配置总体文件至实例。
42、相较于现有技术中,当多个微服务的配置参数需要变更时,只能针对单个微服务进行配置参数变更,本申请基于微服务组中的各微服务的待配置版本的版本标识,以及预设编码规则,对所有版本标识进行编码得到微服务总的总版本编码信息,并基于总版本编码信息生成参数配置总体文件,也即是本申请在得到微服务组的总版本编码信息后,可以基于总版本编码信息,从配置中心中筛选出对应的配置文件,并基于各配置文件生成总体参数配置文件,即总体参数配置文件中包含有微服务组中所有的微服务配置参数,从而在多个微服务的配置参数需要进行变更时,可以达到多微服务配置参数的合并变更的目的。
1.一种微服务发布方法,其特征在于,所述方法包括:
2.根据权利要求1所述的微服务发布方法,其特征在于,所述发送所述参数配置总体文件至实例,包括:
3.根据权利要求2所述的微服务发布方法,其特征在于,所述修改所述目标配置文件的目标配置参数,得到新的目标配置文件,包括:
4.根据权利要求1所述的微服务发布方法,其特征在于,所述发送所述参数配置总体文件至实例,包括:
5.根据权利要求1所述的微服务发布方法,其特征在于,所述确定微服务组中各微服务的待配置版本,包括:
6.根据权利要求5所述的微服务发布方法,其特征在于,所述基于所述预设流量中蓝版本占比以及所述设备标识,确定所述待配置版本,以确定微服务组中各微服务的待配置版本,包括:
7.根据权利要求6所述的微服务发布方法,其特征在于,所述获得所述哈希值在预设维度中的第一数值以及所述预设流量中蓝版本占比在预设维度中的第二数值,包括:
8.一种微服务发布装置,其特征在于,所述微服务发布装置包括:
9.一种配置中心,其特征在于,包括:处理器,存储器以及存储在所述存储器中的微服务发布程序,所述微服务发布程序被所述处理器运行时实现如权利要求1至7中任一项所述微服务发布方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有微服务发布程序,所述微服务发布程序被处理器执行时实现如权利要求1至7任一项所述的微服务发布方法。