网关节点转发服务请求的方法及网关节点技术

技术编号:22390574 阅读:12 留言:0更新日期:2019-10-29 07:23
本申请提供了一种网关节点转发服务请求的方法,包括:网关节点接收客户端发送的服务请求;网关节点通过路由定位器从多个服务列表中,查找到与服务请求的路径对应的服务ID,其中,服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息,服务列表预先根据路由定位器的接口规则进行统一封装,并缓存于网关节点中,且不同的服务列表由不同类型的注册中心所提供;网关节点调用负载均衡器基于负载均衡策略从服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于后端服务的地址信息将服务请求转发给后端服务。在一个网关节点中,实现了同时基于不同类型注册中心的服务发现机制,进行服务请求的转发。

The method of gateway node forwarding service request and gateway node

【技术实现步骤摘要】
网关节点转发服务请求的方法及网关节点
本专利技术涉及请求转发
,特别涉及一种网关节点转发服务请求的方法及网关节点。
技术介绍
在云微服务架构下,通常通过网关节点来实现前后端的分离。由于,在云微服务架构中,网关节点的后端服务的网络位置都是动态分配的。并且,因为扩展,失效和升级等需求,后端服务也会经常出现变动。所以,在云微服务架构中会通过注册中心来实现服务发现。后端服务在启用时,都需要将自己的信息注册到注册中心中,生成服务列表,并提供给网关节点使用。网关节点在接收到客户端发送服务请求后,通过负载器基于负载均衡策略从服务列表中选择后端服务,并将请求发送给该后端服务。但是,不同类型的注册中心,所实现的服务发现机制不同。而现有的网关节点在运行时仅支持通过默认的一种类型的注册中心,来实现服务请求的转发。并没有考虑后端服务注册在多种不同服务注册中心的情况,从而导致不同平台或系统下的后端服务需要迁移到同一网关节点的注册中心中,才能通过该网关节点进行访问。然而,后端服务迁移不仅提高了开发成本,并且还存在无法兼容的问题。
技术实现思路
基于上述现有技术的不足,本专利技术提供了一种网关节点转发请求的方法,以解决现有技术的网关节点仅支持默认类型的注册中心做服务发现,从而导致不同平台或系统下的后端服务需要迁移到同一网关节点的注册中心中,才能通过该网关节点进行访问的问题。为了实现上述目的,本专利技术提供了以下技术方案:本专利技术一方面提供了一种网关节点转发服务请求的方法,包括:网关节点接收客户端发送的服务请求;所述网关节点通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,其中,所述服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息,所述服务列表预先根据所述路由定位器的接口规则进行统一封装,并缓存于所述网关节点中,且不同的服务列表由不同类型的注册中心所提供;所述网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。可选地,在上述的方法中,所述网关节点包括集成层,所述集成层用于获取所有注册中心提供的服务列表,以及将所述服务列表根据所述路由定位器的接口规则进行统一封装,并进行缓存,以让所述路由定位器通过其接口从所述服务列表中查找到与服务请求的路径对应的服务ID。可选地,在上述的方法中,所述网关节点通过路由定位器从服务列表中,查找到与所述服务请求的路径对应的服务ID,包括:所述网关节点确定与所述服务请求的路径匹配的路由;所述网关节点通过所述路由定位器读取所述路由的配置信息,其中,所述路由的配置信息包括一个服务ID;所述网关节点通过所述路由定位器从所述集成层中缓存的多个服务列表中,查找到所述路由的配置信息中所包含的服务ID,以从服务列表中确定出所述服务ID对应的所有后端服务。可选地,在上述的方法中,所述网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务,包括:所述网关节点调用负载均衡器,基于所关联的负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并从所述服务列表获取所述后端服务的地址信息,其中,所述网关节点通过与负载均衡组件绑定,与所述负载均衡策略相关联,不同的负载均衡组件用于实现不同的负载均衡策略;所述网关节点基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。可选地,在上述的方法中,还包括:所述网关节点通过心跳机制实时监控所有服务列表中的每一个后端服务的健康状态;若未检测到服务列表中的后端服务的心跳,则发送报警信息,其中,所述报警信息包括所述后端服务的身份标识。本专利技术另一方面提供了一种网关节点,包括:接收单元,用于接收客户端发送的服务请求;处理单元,用于通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,以及调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,其中,所述服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息,所述服务列表预先根据所述路由定位器的接口规则进行统一封装,并缓存于所述网关节点中,且不同的服务列表由不同类型的注册中心所提供;发送单元,用于基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。可选地,在上述的网关节点中,还包括:集成层,用于通过所述接收单元获取所有注册中心提供的服务列表,以及将所述服务列表根据所述路由定位器的接口规则进行统一封装,并进行缓存,以让所述路由定位器通过其接口从所述服务列表中查找到与服务请求的路径对应的服务ID。可选地,在上述的网关节点中,所述处理单元通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID时,用于:确定与所述服务请求的路径匹配的路由;通过所述路由定位器读取所述路由的配置信息,其中,所述路由的配置信息包括一个服务ID;通过所述路由定位器从所述集成层中缓存的多个服务列表中,查找到所述路由的配置信息中所包含的服务ID,以从服务列表中确定出所述服务ID对应的所有后端服务。可选地,在上述的网关节点中,所述处理单元调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,包括:所述网关节点调用负载均衡器基于所关联的负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并从所述服务列表获取所述后端服务的地址信息,其中,所述网关节点通过与负载均衡组件绑定,与所述负载均衡策略相关联,不同的负载均衡组件用于实现不同的负载均衡策略。可选地,在上述的网关节点中,所述处理单元,还用于:通过心跳机制实时监控所有服务列表中的每一个后端服务的健康状态,以及在未检测到服务列表中的后端服务的心跳时,则通过发送单元发送报警信息,其中,所述报警信息包括所述后端服务的身份标识。本专利技术提供的网关节点转发服务请求的方法及网关节点,通过预先将不同类型的注册中心提供的服务列表,根据网关节点的路由定位器的接口规则进行统一封装,并缓存在网关节点中,使得网关节点在接收到客户端发送的服务请求后,能通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,然后,调用负载均衡器基于负载均衡策略从服务列表中的所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务,完成服务请求的转发,从而实现在一个网关节点中同时支持多个不同类型的注册中心进行服务发现。本专利技术无需再对后端服务进行迁移,通过同一网关节点就可以进行访问。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例提供的一种网关节点转发服务请求的方法的流程示意图;图2为本专利技术另一实施例提供的一种网关节点转发服务请求的方法的流程示意图;图3为本专利技术另一实施例本文档来自技高网...

【技术保护点】
1.一种网关节点转发服务请求的方法,其特征在于,包括:网关节点接收客户端发送的服务请求;所述网关节点通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,其中,所述服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息,所述服务列表预先根据所述路由定位器的接口规则进行统一封装,并缓存于所述网关节点中,且不同的服务列表由不同类型的注册中心所提供;所述网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。

【技术特征摘要】
1.一种网关节点转发服务请求的方法,其特征在于,包括:网关节点接收客户端发送的服务请求;所述网关节点通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,其中,所述服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息,所述服务列表预先根据所述路由定位器的接口规则进行统一封装,并缓存于所述网关节点中,且不同的服务列表由不同类型的注册中心所提供;所述网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。2.根据权利要求1所述的方法,其特征在于,所述网关节点包括集成层,所述集成层用于获取所有注册中心提供的服务列表,以及将所述服务列表根据所述路由定位器的接口规则进行统一封装,并进行缓存,以让所述路由定位器通过其接口从所述服务列表中查找到与服务请求的路径对应的服务ID。3.根据权利要求2所述的方法,其特征在于,所述网关节点通过路由定位器从服务列表中,查找到与所述服务请求的路径对应的服务ID,包括:所述网关节点确定与所述服务请求的路径匹配的路由;所述网关节点通过所述路由定位器读取所述路由的配置信息,其中,所述路由的配置信息包括一个服务ID;所述网关节点通过所述路由定位器从所述集成层中缓存的多个服务列表中,查找到所述路由的配置信息中所包含的服务ID,以从服务列表中确定出所述服务ID对应的所有后端服务。4.根据权利要求3所述的方法,其特征在于,所述网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务,包括:所述网关节点调用负载均衡器,基于所关联的负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并从所述服务列表获取所述后端服务的地址信息,其中,所述网关节点通过与负载均衡组件绑定,与所述负载均衡策略相关联,不同的负载均衡组件用于实现不同的负载均衡策略;所述网关节点基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。5.根据权利要求1所述的方法,其特征在于,还包括:所述网关节点通过心跳机制实时监控所有服务列表中的每一个后端服务的健康状态;若未检测到服务列表中的后端...

【专利技术属性】
技术研发人员:王佩华谢国辉冯永彪
申请(专利权)人:普信恒业科技发展北京有限公司
类型:发明
国别省市:北京,11

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

1