本说明书实施例涉及微服务领域,特别地,涉及一种灰度服务的调度方法、装置、设备、存储介质和产品。
背景技术:
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、若两者均一致,则判断结果为是;
31、若两者中存在不一致,则判断结果为否。
32、优选的,所述注册中心内包括灰度服务的注册信息和正式服务的注册信息,其中所述灰度服务的注册信息包括所述灰度服务对应的服务标识、服务版本标签和灰度规则令牌,所述正式服务的注册信息包括所述正式服务对应的服务标识和服务版本标签。
33、优选的,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
34、当所述匹配结果为因不满足目标灰度规则而匹配失败时:
35、由所述注册中心查询得到至少一目标注册信息,其中所述目标注册信息的服务标识与所述目标服务标识一致;
36、将所述目标注册信息内存在灰度规则令牌的目标注册信息过滤,得到剩余的目标注册信息作为选定注册信息;
37、将所述请求调度至某一所述选定注册信息所对应的正式服务。
38、优选的,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
39、当所述匹配结果为因不存在目标灰度规则而匹配失败时:
40、由所述注册中心查询得到至少一目标注册信息,其中所述目标注册信息的服务标识与所述目标服务标识一致;
41、将所述目标注册信息作为选定注册信息;
42、将所述请求调度至某一所述选定注册信息所对应的正式服务;
43、或,停止调度。
44、优选的,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
45、当所述匹配结果为匹配成功且校验结果为校验成功时:将所述请求调度至某一所述选定注册信息所对应的灰度服务。
46、优选的,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
47、当所述匹配结果为匹配成功,但校验结果为因目标注册信息与目标灰度规则不一致而校验失败时:
48、将所述目标注册信息内存在灰度规则令牌的目标注册信息过滤,得到剩余的目标注册信息作为选定注册信息;
49、将所述请求调度至某一所述选定注册信息所对应的正式服务;
50、或,停止调度。
51、优选的,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
52、当所述匹配结果为匹配成功,但校验结果为因不存在目标注册信息而校验失败时:停止调度。
53、另一方面,本说明书实施例提供了一种灰度服务的调度装置,所述装置包括:
54、准备模块,当服务代理方接收服务请求方发送的请求之前:
55、规则定义子模块,用于服务提供方在管理平台定义某一灰度服务的灰度规则,所述灰度规则中包括服务约束条件、服务版本标签和灰度规则令牌,其中所述服务版本标签和灰度规则令牌用于唯一表征所述灰度服务,所述服务约束条件用于表征调度至所述灰度服务的请求所满足的约束条件;
56、规则下发子模块,用于所述管理平台利用服务标识标记所述灰度规则,将带有所述服务标识的灰度规则下发至服务代理方,所述服务标识用于表征所述灰度服务所提供的服务类型;
57、查询子模块,用于所述灰度服务启动时根据对应的服务标识和服务版本标签查询所述管理平台,得到所述灰度服务的灰度规则令牌;
58、注册子模块,用于所述灰度服务向注册中心注册,所述注册中心生成对应的注册信息,所述注册信息中包括所述灰度服务对应的服务标识、服务版本标签和灰度规则令牌;
59、应用模块,当所述服务代理方接收到所述服务请求方发送的请求时:
60、匹配子模块,用于所述服务代理方将所述请求与所述服务代理方的灰度规则进行匹配;
61、校验子模块,用于当匹配结果为匹配成功时,所述服务代理方利用所述注册中心内的注册信息对匹配成功的灰度规则进行校验;
62、调度子模块,用于所述服务代理方根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务。
63、又一方面,本说明书实施例还提供了一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,所述计算机程序被所述处理器运行时,执行上述任意一项所述方法的指令。
64、又一方面,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
65、又一方面,本说明书实施例还提供了一种计算机程序产品,所述计算机程序产品被计算机设备的处理器运行时,执行上述任意一项所述方法的指令。
66、由以上本说明书实施例提供的技术方案可见,通过本说明书实施例,能够在服务代理方接收服务请求方发送的请求之前,服务提供方在管理平台定义某一灰度服务的灰度规则。该灰度服务在启动时,需要根据服务标识和服务版本标签查询管理平台,得到灰度服务的灰度规则令牌,然后将服务标识、服务版本标签和灰度规则令牌一同注册在注册中心,如此确保灰度规则和灰度服务均处于就绪状态,后续当请求来临时,可以利用注册信息对与请求匹配成功的灰度规则进行校验,将请求调度至灰度服务或正式服务,避免调度问题,提高调度准确性。
67、为让本说明书的上述和其他目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下。
1.一种灰度服务的调度方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述服务约束条件中包括请求的请求头部、请求参数、请求方式、请求体和请求协议中至少一者所满足的约束条件;
3.根据权利要求1所述的方法,其特征在于,所述将所述请求与所述服务代理方的灰度规则进行匹配进一步包括:
4.根据权利要求3所述的方法,其特征在于,所述利用所述注册中心内的注册信息对匹配成功的灰度规则进行校验进一步包括:
5.根据权利要求4所述的方法,其特征在于,所述判断所述目标注册信息是否与所述目标灰度规则相一致进一步包括:
6.根据权利要求3所述的方法,其特征在于,所述注册中心内包括灰度服务的注册信息和正式服务的注册信息,其中所述灰度服务的注册信息包括所述灰度服务对应的服务标识、服务版本标签和灰度规则令牌,所述正式服务的注册信息包括所述正式服务对应的服务标识和服务版本标签。
7.根据权利要求6所述的方法,其特征在于,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
8.根据权利要求6所述的方法,其特征在于,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
9.根据权利要求4所述的方法,其特征在于,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
10.根据权利要求4所述的方法,其特征在于,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
11.根据权利要求4所述的方法,其特征在于,所述根据匹配结果和/或校验结果,将所述请求调度至相应的灰度服务或正式服务进一步包括:
12.一种灰度服务的调度装置,其特征在于,所述装置包括:
13.一种计算机设备,包括存储器、处理器、以及存储在所述存储器上的计算机程序,其特征在于,所述计算机程序被所述处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被计算机设备的处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。
15.一种计算机程序产品,其特征在于,所述计算机程序产品被计算机设备的处理器运行时,执行根据权利要求1-11任意一项所述方法的指令。