一种服务请求转发系统、方法、计算机设备和存储介质技术方案

技术编号:34249002 阅读:14 留言:0更新日期:2022-07-24 11:05
本申请提供了一种服务请求转发系统、方法、计算机设备和存储介质,所述系统包括:网关管理平台、网关服务实例和服务器,所述网关用于根据所述服务实例的指令配置所述服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述服务实例是否可用;所述服务器用于检测所述服务实例的健康检查端点的响应状态码,向可用的服务实例转发客户端的服务请求。服务器通过探活模块主动检测服务实例的状态,在服务实例不可用前配置不可用的状态,使服务器提前获知该服务实例即将不可用,便不再向该服务实例转发客户请求,避免不可用的服务实例超时等待造成的的服务时延。实例超时等待造成的的服务时延。实例超时等待造成的的服务时延。

A service request forwarding system, method, computer device and storage medium

【技术实现步骤摘要】
一种服务请求转发系统、方法、计算机设备和存储介质


[0001]本申请涉及计算机
,尤其涉及一种服务请求转发系统、方法、计算机设备和存储介质。

技术介绍

[0002]随着互联网的发展,微服务的应用越来越普遍,当前微服务部署的主流架构包括服务器、网关和提供多种业务服务的服务实例。服务器或反向代理服务器接收客户端的请求后,将该请求转发给网关,网关再将请求转发给业务的服务实例,服务实例对客户端的请求进行处理。网关会不定期进行新服务发布,以更新所述服务实例。
[0003]目前,网关在进行新服务发布时,需要将网关对应的服务实例逐一进行重启,被重启的实例在一定时间内处于不可用状态。在此过程中,服务器或反向代理服务器仍然会将客户端请求转发给被重启的不可用的服务实例,在响应超时后,转发给其他的服务实例,处理客户端请求。
[0004]网关进行新服务发布时,虽然最终能够处理客户端请求,但是服务的延时变大,影响最终用户体验。

技术实现思路

[0005]基于上述问题,本申请提供了一种服务请求转发系统、方法、计算机设备和存储介质,能够在网关发布新服务的过程中减少服务延时。
[0006]本申请公开了如下技术方案:本申请第一方面提供一种服务请求转发系统,包括:网关管理平台、网关服务实例和服务器,所述网关服务实例包括健康检查端点;所述网关管理平台用于配置各网关服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述各网关服务实例是否可用;所述服务器用于检测所述各网关服务实例的健康检查端点的响应状态码,向可用的网关服务实例转发客户端的服务请求。
[0007]在一个可能的实现方式中,所述网关管理平台具体用于在所述各网关服务实例不可用前,配置对应的健康检查端点的响应状态码为不可用状态码。
[0008]在一个可能的实现方式中,所述网关管理平台具体用于:配置所述各网关服务实例的健康检查端点的状态变量值,根据所述状态变量值配置对应的健康检查端点的响应状态码。
[0009]在一个可能的实现方式中,所述服务器具体用于每隔预设时间循环检测一次所述各网关服务实例的健康检查端点的响应状态码;所述服务器还用于当连续预设次数检测到同一个网关服务实例的健康检查端点的响应状态码为不可用状态码时,在服务发现地址列表中屏蔽不可用的网关服务实例地址。
[0010]在一个可能的实现方式中,所述服务器通过配置的探活模块检测所述各服务实例的健康检查端点的响应状态码。
[0011]在一个可能的实现方式中,所述系统还包括业务服务实例,用于接收所述可用的网关服务实例转发的所述客户端请求,所述客户请求是由所述服务器转发给所述可用的网关服务实例的。
[0012]本申请第二方面提供一种服务请求转发方法,包括:网关管理平台配置各网关服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述各网关服务实例是否可用;以使服务器检测到所述各网关服务实例的健康检查端点的响应状态码,向可用的网关服务实例转发客户端的服务请求。
[0013]在一个可能的实现方式中,所述网关管理平台配置各网关服务实例的健康检查端点的响应状态码,包括:所述网关管理平台在所述各网关服务实例不可用前,配置对应的健康检查端点的响应状态码为不可用状态码。
[0014]本申请第三方面提供一种服务请求转发方法,包括:服务器检测网关管理平台配置的各网关服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述各网关服务实例是否可用;向可用的网关服务实例转发客户端请求。
[0015]在一个可能的实现方式中,所述服务器检测各网关服务实例的健康检查端点的响应状态码,包括:所述服务器每隔预设时间循环检测一次所述各网关服务实例的健康检查端点的响应状态码;所述方法还包括:所述服务器连续预设次数检测到同一个网关服务实例的健康检查端点的响应状态码为不可用状态码时,在服务发现地址列表中屏蔽不可用的网关服务实例的地址。
[0016]本申请第四方面提供一种计算机设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第二方面或第三方面中任一项所述的服务请求转发方法。
[0017]本申请第五方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行如本申请第二方面或第三方面中任一项所述的服务请求转发方法。
[0018]相较于现有技术,本申请具有以下有益效果:本申请提供的服务请求转发系统,包括:网关管理平台、网关服务实例和服务器,所述网关服务实例包括健康检查端点;所述网关管理平台用于配置各网关服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述各网关服务实例是否可用;所述服务器用于检测所述各网关服务实例的健康检查端点的响应状态码,向可用的网关服务实例转发客户端的服务请求。服务器主动检测服务实例的状态,服务实例在不可用前就更新其即将不可用的状态,使服务器提前获知该服务实例即将不可用,便不再向该服务实例转发客户请求,避免不可用的服务实例超时等待造成的服务时延。
附图说明
[0019]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现
有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1为本申请实施例提供的一种服务请求转发系统的结构图;图2为本申请实施例提供的一种服务请求转发方法的流程图;图3为本申请实施例提供的应用服务请求转发系统进行优雅发布的流程图;图4为本申请实施例提供的一种计算机设备结构图。
具体实施方式
[0021]为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请实施例作进一步详细的说明。
[0022]首先对本申请实施例中所涉及到的一些技术术语进行介绍。
[0023]Nginx:是异步框架的网页服务器,也可以用作反向代理、负载均衡器和HTTP缓存。在本申请实施例中Nginx可以作为反向代理,用于接收客户端请求,并将请求经网关转发给对应的服务实例。Nginx还可以作为负载均衡器,用于将接收的客户端请求转发给负载量少的服务实例。
[0024]Kubernetes:是自动部署、扩展和管理容器化应用程序的开源系统,用于管理云平台中多个主机上的容器化的应用。
[0025]服务实例:一种提供某种业务服务的容器化的应用,即处理客户端的请求,提供请求对应的服务。
[0026]服务发现:客户端可以获得一个能提供服务的服务实例地址列表,客户端可以选取其中一个进行访问。
[0027]网关:提供动态路由功能的组件,根据客户请求要访问的服务实例地址,将客户请求转发给对应的服务实例。
[0028]网关发布:对服务实例进行更新或本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务请求转发系统,其特征在于,包括:网关管理平台、网关服务实例和服务器,所述网关服务实例包括健康检查端点;所述网关管理平台用于配置各网关服务实例的健康检查端点的响应状态码,所述响应状态码用于表征所述各网关服务实例是否可用;所述服务器用于检测所述各网关服务实例的健康检查端点的响应状态码,向可用的网关服务实例转发客户端的服务请求。2.根据权利要求1所述的系统,其特征在于,所述网关管理平台具体用于在所述各网关服务实例不可用前,配置对应的健康检查端点的响应状态码为不可用状态码。3.根据权利要求1所述的系统,其特征在于,所述网关管理平台具体用于:配置所述各网关服务实例的健康检查端点的状态变量值,根据所述状态变量值配置对应的健康检查端点的响应状态码。4.根据权利要求1所述的系统,其特征在于,所述服务器具体用于每隔预设时间循环检测一次所述各网关服务实例的健康检查端点的响应状态码;所述服务器还用于当连续预设次数检测到同一个网关服务实例的健康检查端点的响应状态码为不可用状态码时,在服务发现地址列表中屏蔽不可用的网关服务实例地址。5.根据权利要求1所述的系统,其特征在于,所述服务器通过配置的探活模块检测所述各服务实例的健康检查端点的响应状态码。6.根据权利要求1

5任一项所述的系统,其特征在于,所述系统还包括业务服务实例,用于接收所述可用的网关服务实例转发的所述客户端的服务请求,所述客户端的服务请求是由所述服务器转发给所述可用的网关服务实例的。7.一种服务请求转发方法,其特征在于,包括:网关管理平台配置各网关服务实例的健康检查端点的响应...

【专利技术属性】
技术研发人员:李明月张益军王金明
申请(专利权)人:飞狐信息技术天津有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1