[发明专利]一种服务调用系统及方法在审
申请号: | 202210109071.X | 申请日: | 2022-01-28 |
公开(公告)号: | CN114449034A | 公开(公告)日: | 2022-05-06 |
发明(设计)人: | 易桂 | 申请(专利权)人: | 湖南快乐阳光互动娱乐传媒有限公司 |
主分类号: | H04L67/51 | 分类号: | H04L67/51;H04L67/60;H04L1/16;H04L12/66 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 韩丽波 |
地址: | 410003 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 服务 调用 系统 方法 | ||
本申请实施例公开了一种服务调用系统及方法,其中,网关可以根据客户端发送的服务请求中历史访问状态字段携带的响应状态码、以及服务端针对该服务请求反馈的响应消息中携带的响应状态码,确定客户端是否有必要继续重试发送服务请求以访问对应的服务,并据此生成重试指示信息提供给客户端,以使客户端据此决定是否继续重试发送服务请求。如此,当网关根据服务请求中历史访问状态字段携带的响应状态码、以及响应消息中携带的响应状态码,确定客户端没有必要继续重试时,可以及时地控制客户端停止重试发送服务请求,从而避免客户端因反复重试而产生大量的服务请求,进而避免因服务请求数量过多而导致发生雪崩现象。
技术领域
本申请涉及互联网技术领域,具体涉及一种服务调用系统及方法。
背景技术
随着移动互联网的蓬勃发展,如今涌现出了各种各样的后端服务,其中很多后端服务又与其它后端服务之间存在各种数据交互。在这种复杂的、多层级的软件技术架构中,经常发生客户端与后端服务、后端服务与其它后端服务之间调用失败的情况,网络不好、被调用的后端服务响应速度慢、调用方的超时时间设置得过短而接口处理时间较长等原因,都有可能导致服务调用失败的情况发生。
目前,针对上述情况,后端服务的调用方通常会结合自身的业务特性,设置请求重试策略,如通过重复发起请求来进行重试。而在微服务结构流行的如今,响应于客户端发起的请求,服务端一般会有下游的多个服务提供数据;例如,假设服务1调用服务2,服务2调用服务3失败时,服务2会重复调用服务3,如此多次调用失败后,会向服务1返回失败消息,此时服务1会重复执行调用服务2的操作,在该种场景下,服务2实际上调用子服务3接口m*n次,其中m为服务1调用服务2的次数,n为每次服务1调用完服务2后服务2调用服务3的次数。
在上述场景中,服务与服务之间、服务下的子服务与子服务之间重复调用,会导致下游服务的请求量暴增,进而导致服务响应慢,严重时甚至可能发生宕机的情况,引起整个系统的不可用,这种现象又被称为雪崩。
发明内容
本申请实施例提供了一种服务调用系统及方法,能够减少在重试过程中的请求量,从而避免发生雪崩现象。
有鉴于此,本申请第一方面提供了一种服务调用系统,所述系统包括:
客户端,用于接收服务管理平台下发的基础服务信息,所述基础服务信息至少包括服务主域名、服务重试域名、重试接口路径、主域名超时时间和重试域名超时时间;以及,用于基于所述基础服务信息发送服务请求,所述服务请求包括超时时间字段和历史访问状态字段,所述超时时间字段用于承载所述服务请求对应的总超时时间,所述历史访问状态字段用于承载在所述服务请求之前发送的服务请求对应的响应状态码;以及,用于接收所述服务请求对应的响应消息;
网关,用于向服务端转发所述客户端发送的服务请求,以及向所述客户端转发所述服务端针对所述服务请求发送的响应消息;以及,用于根据所述服务请求中所述历史状态字段承载的内容、以及所述响应消息携带的所述服务请求对应的响应状态码中的至少一项,生成所述重试指示信息,并将所述重试指示信息添加至所述响应消息中,所述重试指示信息用于指示所述客户端是否需要再次发送服务请求;
所述服务端,用于根据所述服务请求中所述超时时间字段承载的内容,提供所述服务请求访问的域名对应的服务,并根据所述服务的响应情况生成所述服务请求对应的响应状态码,将所述响应状态码添加至所述服务请求对应的响应消息中,发送所述响应消息。
可选的,所述客户端具体用于:
在所述客户端基于所述服务主域名发送第一服务请求,并且接收到所述第一服务请求对应的第一响应消息的情况下,若所述第一响应消息携带有用于指示所述客户端再次发送服务请求的所述重试指示信息,则所述客户端基于所述服务重试域名发送第二服务请求,所述第二服务请求中的所述历史访问状态字段包括所述第一响应消息中携带的所述第一服务请求对应的响应状态码;若所述第一响应消息携带有用于指示所述客户端无需再次发送服务请求的所述重试指示信息,则所述客户端停止发送服务请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于湖南快乐阳光互动娱乐传媒有限公司,未经湖南快乐阳光互动娱乐传媒有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210109071.X/2.html,转载请声明来源钻瓜专利网。