System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请实施例涉及分布式,尤其涉及一种服务调用方法、设备、存储介质及程序产品。
技术介绍
1、在分布式系统中,服务注册与发现、服务间通信等是非常重要的环节。
2、相关技术中,分布系统中设置有多个服务和注册中心,为了实现服务之间的通信,服务提供方在启动时将服务实例注册到注册中心中,服务发起方需要进行服务提供方的服务调用时,则从注册中心中查询并获取包含至少一个服务实例的服务列表。
3、然而,实现本申请过程中,专利技术人发现现有技术中至少存在如下问题:上述方式中严重依赖服务注册中心,当服务注册中心故障或者服务请求方与注册中心网络异常、或者服务接收方与注册中心网络异常导致服务下线时,上述方式无法进行有效处理。
技术实现思路
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、若服务列表中的服务实例的数量大于1,则获取上一位置索引,根据所述上一位置索引对所述服务列表的长度取模,获得当前位置索引;
31、根据所述当前位置索引,从所述服务列表中确定第二目标服务实例。
32、第二方面,本申请实施例提供一种服务调用方法,包括:
33、接收服务发起方在从注册中心未获取到所述服务请求对应的服务列表时,根据所述服务标识发送的地址查询请求;所述服务标识服务发起方对获取的服务请求进行解析获得的;所述服务标识为服务提供方的唯一标识;
34、根据所述地址查询请求确定所述服务标识对应的负载地址;
35、将所述负载地址发送给所述服务发起方,以使所述服务发起方将所述服务请求发送至所述负载地址对应的负载绑定服务器,通过所述负载绑定服务器基于第一负载均衡策略将所述服务请求发送至所述负载绑定服务器绑定的多个服务实例中的第一目标服务实例,以使所述第一目标服务实例对所述服务请求进行处理;所述负载绑定服务器用于将对应的服务提供方的多个服务实例的地址与所述负载绑定服务器的地址进行绑定。
36、在一种可能的设计中,所述接收服务发起方根据所述服务标识发送的地址查询请求之前,还包括:
37、接收服务提供方对应的负载绑定服务器发送的注册请求;所述注册请求包括所述负载绑定服务器对应本文档来自技高网...
【技术保护点】
1.一种服务调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,若所述服务标识包括服务提供方对应的服务域名;所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址;所述服务标识注册服务器用于建立服务标识和负载地址之间的一一对应关系,包括:
3.根据权利要求1所述的方法,其特征在于,若所述服务标识包括所述服务提供方对应的端口和服务域名;所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址;所述服务标识注册服务器用于建立服务标识和负载地址之间的一一对应关系,包括:
4.根据权利要求1所述的方法,其特征在于,所述服务标识包括服务域名,所述对所述服务请求进行解析获得服务标识,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址,包括
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取服务发起方发起的服务请求之后,还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述地址信息确定第三目标服务实例,包括:
8.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1-5任一项所述的方法,其特征在于,所述基于第二负载均衡策略从所述服务列表中确定第二目标服务实例,包括:
10.一种服务调用方法,其特征在于,包括:
11.根据权利要求10所述的方法,其特征在于,所述接收服务发起方根据所述服务标识发送的地址查询请求之前,还包括:
12.根据权利要求10所述的方法,其特征在于,所述接收服务发起方根据所述服务标识发送的地址查询请求之前,还包括:
13.一种服务调用方法,其特征在于,包括:
14.根据权利要求13所述的方法,其特征在于,所述接收服务发起方基于负载地址发送的服务请求之前,还包括:
15.根据权利要求13所述的方法,其特征在于,所述接收服务发起方基于负载地址发送的服务请求之前,还包括:
16.根据权利要求14或15所述的方法,其特征在于,所述方法还包括:
17.一种服务发起设备,其特征在于,包括:
18.一种服务标识注册服务器,其特征在于,包括:
19.一种负载绑定服务器,其特征在于,包括:
20.一种电子设备,其特征在于,包括:至少一个处理器和存储器;
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至16任一项所述的服务调用方法。
22.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至16任一项所述的服务调用方法。
...【技术特征摘要】
1.一种服务调用方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,若所述服务标识包括服务提供方对应的服务域名;所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址;所述服务标识注册服务器用于建立服务标识和负载地址之间的一一对应关系,包括:
3.根据权利要求1所述的方法,其特征在于,若所述服务标识包括所述服务提供方对应的端口和服务域名;所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址;所述服务标识注册服务器用于建立服务标识和负载地址之间的一一对应关系,包括:
4.根据权利要求1所述的方法,其特征在于,所述服务标识包括服务域名,所述对所述服务请求进行解析获得服务标识,包括:
5.根据权利要求1所述的方法,其特征在于,所述根据所述服务标识向服务标识注册服务器发送地址查询请求,以使所述服务标识注册服务器根据所述地址查询请求返回所述服务标识对应的负载地址,包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述获取服务发起方发起的服务请求之后,还包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述地址信息确定第三目标服务实例,包括:
8.根据权利要求1-5任一项所述的方法,其特征在于,所述方法还包括:
9.根据权利要求1-5任一项所述的方...
【专利技术属性】
技术研发人员:何志杰,
申请(专利权)人:中国建设银行股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。