System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及开发辅助领域,尤其涉及一种服务定时调用的系统、方法、装置、注册中心及存储介质。
技术介绍
1、在研发过程中,由于微服务架构的普及,不同服务间通过接口互相调用的场景越来越多。其中,存在着大量的服务需要在某一场景下进行定时调用。而现有技术中,这种定时调用通常由调用方自主维护,这使得整个服务架构变得杂乱。并且,在对服务进行变更操作(如降级、上线、下线等)时,服务架构很难理清不同服务相互间的定时调用关系,由于定时调用关系的复杂,因此部分服务在下线、降级或上线后,其调用方服务并不知道其出现了变更,这使得服务的定时调用出现异常或失败,严重影响了微服务系统的稳定性和安全性。
技术实现思路
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、上述服务定时调用的系统、方法、装置、注册中心及存储介质,本系统包括服务消费端、注册中心和服务提供端,其中,服务提供端包括但不仅限于第一提供端、第二提供端和目标提供端。该系统实质上将服务消费端和服务提供端所有的调用都通过注册中心进行管理,并由注册中心发送心跳包(也就是心跳信息)对服务提供端进行定时的有效性校验。当服务提供端出现变化时,注册中心能够通过心跳包及时发现服务提供端发生的变化,从而筛选出能够正常进行响应的第二提供端,进而在第二提供端和第一提供端的交集中得出目标提供端,并生成指向目标提供端的的第一路由表,并将第一路由表定时发送给服务消费端,以便服务消费端依据第一路由表,调用对应的目标提供端的服务。由于第一路由表中的目标提供端是第二提供端与第一提供端的交集,因此目标提供端一定能够返回响应信息,而本系统的注册中心定时向所有服务提供端发送心跳包,也就是注册中心将定时更新第一路由表,故此,第一路由表中的目标提供端将始终能够返回响应信息,从而防止由于服务提供端变更而导致本文档来自技高网...
【技术保护点】
1.一种服务定时调用的系统,其特征在于,包括:服务消费端、注册中心和服务提供端,所述服务提供端包括第一提供端、第二提供端和目标提供端;
2.如权利要求1所述服务定时调用的系统,其特征在于,所述注册中心,还用于:
3.如权利要求1所述服务定时调用的系统,其特征在于,所述服务提供端还包括第三提供端;
4.如权利要求1所述服务定时调用的系统,其特征在于,所述服务提供端还包括第四提供端、第五提供端和第六提供端,所述注册中心,还用于:
5.如权利要求3所述服务定时调用的方法,其特征在于,所述注册中心,还用于:
6.如权利要求1所述服务定时调用的系统,其特征在于,所述服务提供端还包括所述第七提供端,所述注册中心,还用于:
7.一种服务定时调用的方法,其特征在于,服务提供端包括第一提供端、第二提供端和目标提供端,所述方法包括:
8.一种服务定时调用的装置,其特征在于,包括:
9.一种注册中心,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求7任一项所述服务定时调用的方法的步骤。
...【技术特征摘要】
1.一种服务定时调用的系统,其特征在于,包括:服务消费端、注册中心和服务提供端,所述服务提供端包括第一提供端、第二提供端和目标提供端;
2.如权利要求1所述服务定时调用的系统,其特征在于,所述注册中心,还用于:
3.如权利要求1所述服务定时调用的系统,其特征在于,所述服务提供端还包括第三提供端;
4.如权利要求1所述服务定时调用的系统,其特征在于,所述服务提供端还包括第四提供端、第五提供端和第六提供端,所述注册中心,还用于:
5.如权利要求3所述服务定时调用的方法,其特征在于,所述注册中心,还用于:
6.如权利要求1所述服务定时调用的系统,其特征在于...
【专利技术属性】
技术研发人员:姚君迟,
申请(专利权)人:中国平安人寿保险股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。