CN110381163A - 网关节点转发服务请求的方法及网关节点 - Google Patents

网关节点转发服务请求的方法及网关节点 Download PDF

Info

Publication number
CN110381163A
CN110381163A CN201910695851.5A CN201910695851A CN110381163A CN 110381163 A CN110381163 A CN 110381163A CN 201910695851 A CN201910695851 A CN 201910695851A CN 110381163 A CN110381163 A CN 110381163A
Authority
CN
China
Prior art keywords
service
end services
gateway node
locating device
service request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910695851.5A
Other languages
English (en)
Other versions
CN110381163B (zh
Inventor
王佩华
谢国辉
冯永彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Puxin Hengye Technology Development (beijing) Co Ltd
Original Assignee
Puxin Hengye Technology Development (beijing) Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Puxin Hengye Technology Development (beijing) Co Ltd filed Critical Puxin Hengye Technology Development (beijing) Co Ltd
Priority to CN201910695851.5A priority Critical patent/CN110381163B/zh
Publication of CN110381163A publication Critical patent/CN110381163A/zh
Application granted granted Critical
Publication of CN110381163B publication Critical patent/CN110381163B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

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

Description

网关节点转发服务请求的方法及网关节点
技术领域
本发明涉及请求转发技术领域,特别涉及一种网关节点转发服务请求的方法及网关节点。
背景技术
在云微服务架构下,通常通过网关节点来实现前后端的分离。由于,在云微服务架构中,网关节点的后端服务的网络位置都是动态分配的。并且,因为扩展,失效和升级等需求,后端服务也会经常出现变动。所以,在云微服务架构中会通过注册中心来实现服务发现。
后端服务在启用时,都需要将自己的信息注册到注册中心中,生成服务列表,并提供给网关节点使用。网关节点在接收到客户端发送服务请求后,通过负载器基于负载均衡策略从服务列表中选择后端服务,并将请求发送给该后端服务。
但是,不同类型的注册中心,所实现的服务发现机制不同。而现有的网关节点在运行时仅支持通过默认的一种类型的注册中心,来实现服务请求的转发。并没有考虑后端服务注册在多种不同服务注册中心的情况,从而导致不同平台或系统下的后端服务需要迁移到同一网关节点的注册中心中,才能通过该网关节点进行访问。然而,后端服务迁移不仅提高了开发成本,并且还存在无法兼容的问题。
发明内容
基于上述现有技术的不足,本发明提供了一种网关节点转发请求的方法,以解决现有技术的网关节点仅支持默认类型的注册中心做服务发现,从而导致不同平台或系统下的后端服务需要迁移到同一网关节点的注册中心中,才能通过该网关节点进行访问的问题。
为了实现上述目的,本发明提供了以下技术方案:
本发明一方面提供了一种网关节点转发服务请求的方法,包括:
网关节点接收客户端发送的服务请求;
所述网关节点通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务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所示,包括:
S101、网关节点接收客户端发送的服务请求。
由于云微服务架构中通过网关节点来实现前后端的分离,所以当客户端需要请求后端服务时,客户端所发送的服务请求会先通过网关节点,再由网关节点将服务请求转发给后端服务。客户端所请求的服务不同,则所发送的服务请求的路径也不相同,即一种路径对应一种服务。也就对应一个服务ID。所以,网关节点根据服务请求的路径,可知客户端所要请求的服务所对应的服务ID。
S102、网关节点通过路由定位器从多个服务列表中,查找到与服务请求的路径对应的服务ID。
其中,服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息。所有的服务列表都预先根据网关节点的路由定位器的接口规则进行统一封装,并缓存到网关节点中,且不同的服务列表由不同类型的注册中心所提供。
需要说明的是,为了提供服务架构的高可用性以及处理速度等,对于一种服务通常会设置有多个等同的后端服务,来实现负载均衡。相同功能的后端服务在启动时,都将以同一个服务ID注册到注册中心中。注册中心根据后端服务注册的信息生成服务列表,并在后端服务出现变动时,及时更新服务列表。虽然提供统一服务的多个后端服务,共用一个服务ID。但是,不同的后端服务的实际地址及端口并不相同。还需要说明的是,不同的服务对应着不同的逻辑名称,即服务ID在服务类型的层面上具有唯一性。
在本发明实施例中,网关节点不再仅是基于一种类型的注册中心所实现的服务发现机制来进行服务请求的转发,而是基于多种不同类型的注册中心所实现的多个中不同的服务发现机制来进行服务请求的转发。
具体的,可以在整个系统初始化时,通过增加不同的注解,以实现基于不同注册中心的服务发现机制。例如,通过添加注解@EnableEurekaClient,以实现基于注册中心Eureka的服务发现机制,通过添加注解@EnableZookeeperClient和@EnableEtcdClient,以相应的实现基于注册中心Zookeeper和注册中心ETCD的服务发现机制。这样,后端服务就可以注册到不同类型的注册中心上,而不需要进行迁移,并注册到同一注册中心上。
可选地,当在网关节点中新建路由时,可以通过网关管理中心选择服务注册来源信息,该服务注册来源信息可以包括服务来源类型和注册中心地址。然后,将服务注册来源信息注册到数据库中,作为路由设置的一个参数,并通知网关节点去数据库中同步生效配置的路由设置。并且,路由的配置信息中,还包括通过该路由可访问的后端服务所对应的服务ID。
网关节点从不同的注册中心的缓存中,抓取注册中心所生成的多个服务列表,并将服务列表以三元组的形式缓存到缓存器。其中,三元组包括:服务来源类型,注册中心地址,服务ID。然后,将服务列表都根据网关节点的路由定位器所提供的接口规则进行统一封装。这样,网关节点的路由定位器就可以通过其接口,从缓存器中的多个服务列表中确定出服务请求所请求后端服务对应服务ID的所在位置,并最终能从服务列表中的服务请求对应服务ID下所对应的多个后端服务中,选择其中一个后端服务,实现服务请求转发。从而实现了将网关节点与默认的注册中心解耦,实现通过多种类型的注册中心来进行服务发现。
具体的,客户端所请求的服务不同,则所发送的服务请求的路径也不相同,即对应一个服务ID。所以,网关节点根据服务请求的路径,可知客户端所要请求的服务所对应的服务ID,并根据该ID从多个服务列表中找到所述服务ID,以从服务列表中获取服务ID所对应的多个后端服务的地址信息。具体为,找到所述服务ID具体包含于哪个服务列表中,在确定服务列表后,从该服务列表中找到所记录的该服务ID。
S103、网关节点调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务。
由于提供同一服务的后端服务存在多个,即一个服务ID对应多个后端服务,具体选择哪一个后端服务进行服务请求的转发,网关节点可以调用其内部的负载均衡器利用负载均衡策略,从多个后端服务中确定出其中的一个后端服务。例如,可以调用负载均衡器采用轮询的负载均衡策略,把来自客户端的服务请求轮流分配给后端服务。从后端服务1开始,直到后端服务N,然后重新开始循环。
具体的,网关节点调用负载均衡器利用一定的负载均衡策略,从所述查找到的服务列表中记录的服务请求所对应的服务ID,并从服务ID所对应的多个后端服务中确定出其中一个后端服务,并从服务列表中获取该后端服务的IP地址及端口信息。
S104、网关节点基于后端服务的地址信息将服务请求转发给后端服务。
具体的,网关节点根据步骤103中确定出的后端服务器的IP地址及端口信息,将客户端发送的服务请求转发至后端服务。
本发明实施例所提供的网关节点转发服务请求的方法,通过预先将不同类型的注册中心提供的服务列表,根据网关节点的路由定位器的接口规则进行统一封装,并缓存在网关节点中,使得网关节点在接收到客户端发送的服务请求后,能通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,然后,调用负载均衡器基于负载均衡策略从服务列表中的所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将所述服务请求转发给所述后端服务,完成服务请求的转发,从而实现在一个网关节点中同时支持多个不同类型的注册中心进行服务发现。本发明无需再对后端服务进行迁移,通过同一网关节点就可以进行访问。
本发明另一实施例提供的一种网关节点转发服务请求的方法,如图2所示,包括:
S201、网关节点接收客户端发送的服务请求。
需要说明的是,本步骤的具体实现过程可相应地参见上述方法实施例中的步骤S101,此处不再赘述。
S202、网关节点确定与服务请求的路径匹配的路由。
需要说明的是,网关节点针对不同的服务,相应创建有不同的路由。每一条路由都有着相应匹配的路径,通过路由可以访问相应的后端服务。所以,客户端基于不同的路径发送服务请求,以请求不同的后端服务。
S203、网关节点通过路由定位器读取路由的配置信息。
其中,所述路由的配置信息包括一个服务ID。
需要说明的是,在新建路由时,用户可以通过网关管理中心选择服务注册来源信息,即选择后端服务注册与哪个注册中心。该服务注册来源信息可以包括服务来源类型和注册中心地址。然后,将服务注册来源信息注册到数据库中,作为路由设置的一个参数,并通知网关节点去数据库中同步生效配置的路由设置。并且,路由的配置信息中,还配置该路由所对应的后端服务所注册的服务ID。
所以,网关节点通过路由定位器可以读取每一个路由的配置信息,从而获得服务请求所请求的后端服务的服务ID。
还需要说明的是,本发明实施例中的网关节点包括有一个集成层,该集成层位于网关节点的负载均衡器和注册中心的中间。集成层的主要作用就是获取所有注册中心生成的服务列表,并将这些列表都根据路由定位器所提供的接口规则进行统一封装,并缓存在集成层。这样,路由定位器就可以通过接口获取到所有注册中心的服务列表,并基于服务列表实现负载均衡。也就是说,本发明实施例通过集成层使得网关节点能同时支持多个注册中心所实现多种服务发现机制,来做服务请求的转发。
S204、网关节点通过路由定位器从集成层中缓存的多个服务列表中,查找到路由的配置信息中所包含的服务ID,以从服务列表中确定出服务ID对应的所有后端服务。
其中,服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息;服务列表预先根据路由定位器的接口规则进行统一封装,并缓存于网关节点中,且不同的服务列表由不同类型的注册中心所提供。
具体的,网关节点通过路由定位器读取服务请求的路径所对应路由的配置信息,获得路由的配置信息中的服务来源类型和注册中心地址以及服务ID,并根据服务来源类型和注册中心地址,找到相对应的注册中心所提供的服务列表,并在该服务列表中查找到,其所包含的所述路由的配置信息中所包含的服务ID。由于服务列表中记录有多个服务ID及其对应的多个后端服务的地址信息,所以从服务列表中查找到一个服务ID,就可以获得该服务ID所对应的所有的后端服务的地址信息。
S205、网关节点调用负载均衡器基于所关联的负载均衡策略从服务ID对应的多个后端服务中,确定出其中一个后端服务,并从服务列表获取后端服务的地址信息。
其中,网关节点通过与负载均衡组件绑定,与负载均衡策略相关联,不同的负载均衡组件用于实现不同的负载均衡策略。
从服务列表中找到服务请求的路径所对应的服务ID,也就找到了该服务ID下所对应的多个后端服务。此时,需要从多个后端服务中确定出其中一个后端服务,进行服务请求的转发。
在本发明实施例中,网关节点可以通过与不同的负载均衡组件进行绑定,从而实现不同的负载均衡策略。并且,网关节点与负载均衡组件之间是可以动态绑定的。
具体的,如表1所示,可以通过系统的管理端将网关节点与负载均衡的绑定关系存储在负载均衡关联表中,并由管理中心通知网关节点实时更新负载均衡关联表,以让网关节点根据负载均衡关联表来实现相应的负载均衡策略,从而实现灵活的、可定制化的负载均衡机制。
网关组 路由 组件ID 更新时间
基础研发组 RouteidA 蓝绿负载组件 2019:06:12
研发一组 RouteidB 金丝雀负载组件 2019:06:12
表1
所以,在本发明实施例中,网关节点通过调用负载均衡器基于与网关节点所绑定的负载均衡组件来实现相应的负载均衡策略,从而从服务列表中的多个与服务ID对应的后端服务确定其中的一个后端服务,并获取该后端服务的地址信息。其中,后端服务的地址信息可以包括后端服务的IP地址以及端口。
S206、网关节点基于后端服务的地址信息将服务请求转发给后端服务。
需要说明的是,本步骤的具体实现过程可相应地参见上述方法实施例中的步骤S104,此处不再赘述。
可选地,本发明实施例中,为了能统一监控所有的后端服务,还可以进一步包括:网关节点通过心跳机制实时监控所有服务列表中的每一个后端服务的健康状态。
其中,若未检测到服务列表中的后端服务的心跳,则发送报警信息,该报警信息包括后端服务的身份标识。
具体的,网关节点可以实时结束所述服务列表中的每一个后端服务的心跳报告,即服务列表中的每一个后端服务需要每间隔一段预设时间,就要向网节点发送包括自身标识的心跳报告。其中,后端服务的身份标识可以是后端服务的IP地址或者预先设定的唯一标识,用于区分不同的后端服务。
本发明实施例所提供的网关节点转发服务请求的方法,通过网关节点中增加的集成层预先将不同类型的注册中心提供的服务列表,根据网关节点的路由定位器的接口规则进行统一封装,并进行缓存,使得网关节点在接收到客户端发送的服务请求后,能通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,然后,调用负载均衡器基于与网关节点所关联的负载均衡策略,从服务列表中的所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并基于所述后端服务的地址信息将服务请求转发给后端服务,完成服务请求的转发,从而实现在一个网关节点中同时支持多个不同类型的注册中心进行服务发现。本发明实施例无需再对后端服务进行迁移,通过同一网关节点就可以进行访问。
本发明另一实施例提供了一种网关节点,如图3所示,包括:
接收单元301,用于接收客户端发送的服务请求。
需要说明的是,接收单元301的具体工作过程可相应的参考上述方法实施例中的步骤S101,此处不再赘述。
处理单元302,用于通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,以及调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务。
其中,所述服务列表包括多个服务ID以及每个服务ID对应的多个后端服务的地址信息。所述服务列表预先根据所述路由定位器的接口规则进行统一封装,并缓存于所述网关节点中,且不同的服务列表由不同类型的注册中心所提供。
需要说明的是,处理单元302的具体工作过程可相应的参考上述方法实施例中的步骤S102~S103,此处不再赘述。
发送单元303,用于基于所述后端服务的地址信息将所述服务请求转发给所述后端服务。
需要说明的是,发送单元303的具体工作过程可相应的参考上述方式实施例中的步骤S104,此处不再赘述。
可选地,本发明另一实施例中,网关节点还包括:
集成层,用于通过所述接收单元获取所有注册中心提供的服务列表,以及将所述服务列表根据所述路由定位器的接口规则进行统一封装,并进行缓存,以让所述路由定位器通过其接口从所述服务列表中查找到与服务请求的路径对应的服务ID。
需要说明的是,本发明实施例的集成层在实现上述功能时的具体工作过程可相应的参考上述方法实施例中的步骤S204,此处不再赘述。
可选地,本发明另一实施例中,处理单元302通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID时,用于:
确定与所述服务请求的路径匹配的路由,并通过所述路由定位器读取所述路由的配置信息,以及通过所述路由定位器从所述集成层中缓存的多个服务列表中,查找到所述路由的配置信息中所包含的服务ID,以从服务列表中确定出所述服务ID对应的所有后端服务。
其中,所述路由的配置信息包括一个服务ID。
需要说明的是,本发明实施例的上述单元在实现上述功能时的具体工作过程可相应的参考上述方法实施例中的步骤S202~S204,此处不再赘述。
可选地,本发明另一实施例中,处理单元302调用负载均衡器基于负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,包括:
调用负载均衡器,基于所关联的负载均衡策略从所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并从所述服务列表获取所述后端服务的地址信息。
其中,所述网关节点通过与负载均衡组件绑定,与所述负载均衡策略相关联,不同的负载均衡组件用于实现不同的负载均衡策略。
需要说明的是,本发明实施例的上述单元在实现上述功能时的具体工作过程可相应的参考上述方法实施例中的步骤S205,此处不再赘述。
可选地,本发明另一实施例中,处理单元302,还用于:通过心跳机制实时监控所有服务列表中的每一个后端服务的健康状态,以及在未检测到服务列表中的后端服务的心跳时,则通过发送单元发送报警信息,其中,所述报警信息包括所述后端服务的身份标识。
本发明实施例所提供的网关节点,通过集成层预先将不同类型的注册中心提供的服务列表,根据网关节点的路由定位器的接口规则进行统一封装,并进行缓存,使得接收单元在接收到客户端发送的服务请求后,处理单元能通过路由定位器从多个服务列表中,查找到与所述服务请求的路径对应的服务ID,然后,调用负载均衡器基于与网关节点所关联的负载均衡策略,从服务列表中的所述服务ID对应的多个后端服务中,确定出其中一个后端服务,并由发送单元基于所述后端服务的地址信息将服务请求转发给后端服务,完成服务请求的转发,从而实现在一个网关节点中同时支持多个不同类型的注册中心进行服务发现。本发明实施例无需再对后端服务进行迁移,通过同一网关节点就可以进行访问。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910695851.5A CN110381163B (zh) 2019-07-30 2019-07-30 网关节点转发服务请求的方法及网关节点

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910695851.5A CN110381163B (zh) 2019-07-30 2019-07-30 网关节点转发服务请求的方法及网关节点

Publications (2)

Publication Number Publication Date
CN110381163A true CN110381163A (zh) 2019-10-25
CN110381163B CN110381163B (zh) 2022-09-20

Family

ID=68256998

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910695851.5A Active CN110381163B (zh) 2019-07-30 2019-07-30 网关节点转发服务请求的方法及网关节点

Country Status (1)

Country Link
CN (1) CN110381163B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416837A (zh) * 2020-02-20 2020-07-14 华迪计算机集团有限公司 政务系统api接口访问网关、方法、电子设备及存储介质
CN111756795A (zh) * 2020-05-06 2020-10-09 浙江吉利汽车研究院有限公司 一种服务信息管理方法、装置、电子设备及存储介质
CN112118142A (zh) * 2020-09-28 2020-12-22 中国银行股份有限公司 报文传输方法及装置
CN112579319A (zh) * 2020-12-07 2021-03-30 中国民航信息网络股份有限公司 一种基于LRU Cache优化的服务调用方法及装置
CN113259436A (zh) * 2021-05-12 2021-08-13 建信金融科技有限责任公司 网络请求的处理方法和装置
CN113259407A (zh) * 2021-03-25 2021-08-13 上海卓悠网络科技有限公司 一种基于应用市场架构的数据交互方法及设备
CN114048046A (zh) * 2021-11-08 2022-02-15 马上消费金融股份有限公司 一种服务的调用方法、装置及负载均衡设备
CN114143324A (zh) * 2021-10-27 2022-03-04 上海卓悠网络科技有限公司 一种基于应用市场架构的负载均衡方法及设备
WO2022134358A1 (zh) * 2020-12-24 2022-06-30 平安科技(深圳)有限公司 微服务数据的处理方法、装置、微服务处理平台及介质
CN114884959A (zh) * 2022-03-23 2022-08-09 中国人寿保险股份有限公司 多云多活架构的部署方法及相关设备
CN115103008A (zh) * 2022-06-13 2022-09-23 北京奇艺世纪科技有限公司 一种服务请求转发系统
CN115118767A (zh) * 2022-06-22 2022-09-27 中国银行股份有限公司 一种可定制化的单元化路由组件的实现方法、装置及设备
CN115396492A (zh) * 2022-08-03 2022-11-25 深圳前海环融联易信息科技服务有限公司 服务请求方法、装置、计算机设备及程序产品
CN117041329A (zh) * 2023-10-08 2023-11-10 南京翼辉信息技术有限公司 一种基于异构总线结构的微服务配置系统及其控制方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122850A1 (en) * 2002-12-24 2004-06-24 Humphrey Richard A. System and method to award a prize to a winner of a competition
CN103945000A (zh) * 2014-05-05 2014-07-23 安徽科大讯飞信息科技股份有限公司 一种负载均衡方法及负载均衡器
CN105450757A (zh) * 2015-12-02 2016-03-30 联动优势电子商务有限公司 一种服务管理方法及系统
CN106453125A (zh) * 2016-11-04 2017-02-22 中国电子科技集团公司第二十八研究所 一种基于实时负载率的远程服务调用负载均衡系统
CN107612713A (zh) * 2017-08-21 2018-01-19 同程网络科技股份有限公司 一种治理后端服务的方法
CN109257440A (zh) * 2018-10-29 2019-01-22 南京南瑞信息通信科技有限公司 一种基于服务注册中心的服务发现和客户端负载均衡方法
CN109343829A (zh) * 2018-08-09 2019-02-15 广州瀚信通信科技股份有限公司 一种java语言分布式微服务治理框架
CN109547570A (zh) * 2018-12-29 2019-03-29 深圳云天励飞技术有限公司 服务注册方法、装置、注册中心管理设备及存储介质
CN110011846A (zh) * 2019-03-29 2019-07-12 努比亚技术有限公司 微服务构建方法、装置、移动终端及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040122850A1 (en) * 2002-12-24 2004-06-24 Humphrey Richard A. System and method to award a prize to a winner of a competition
CN103945000A (zh) * 2014-05-05 2014-07-23 安徽科大讯飞信息科技股份有限公司 一种负载均衡方法及负载均衡器
CN105450757A (zh) * 2015-12-02 2016-03-30 联动优势电子商务有限公司 一种服务管理方法及系统
CN106453125A (zh) * 2016-11-04 2017-02-22 中国电子科技集团公司第二十八研究所 一种基于实时负载率的远程服务调用负载均衡系统
CN107612713A (zh) * 2017-08-21 2018-01-19 同程网络科技股份有限公司 一种治理后端服务的方法
CN109343829A (zh) * 2018-08-09 2019-02-15 广州瀚信通信科技股份有限公司 一种java语言分布式微服务治理框架
CN109257440A (zh) * 2018-10-29 2019-01-22 南京南瑞信息通信科技有限公司 一种基于服务注册中心的服务发现和客户端负载均衡方法
CN109547570A (zh) * 2018-12-29 2019-03-29 深圳云天励飞技术有限公司 服务注册方法、装置、注册中心管理设备及存储介质
CN110011846A (zh) * 2019-03-29 2019-07-12 努比亚技术有限公司 微服务构建方法、装置、移动终端及存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ZHANG等: "Dynamic web service selection group decision-making method based on hybrid QoS" *
张龙昌等: "一种基于多QoS注册中心和模型异构的WEB服务选择算法", 《电子与信息学报》 *
辛园园等: "微服务体系结构实现框架综述", 《计算机工程与应用》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111416837A (zh) * 2020-02-20 2020-07-14 华迪计算机集团有限公司 政务系统api接口访问网关、方法、电子设备及存储介质
CN111756795A (zh) * 2020-05-06 2020-10-09 浙江吉利汽车研究院有限公司 一种服务信息管理方法、装置、电子设备及存储介质
CN112118142A (zh) * 2020-09-28 2020-12-22 中国银行股份有限公司 报文传输方法及装置
CN112579319A (zh) * 2020-12-07 2021-03-30 中国民航信息网络股份有限公司 一种基于LRU Cache优化的服务调用方法及装置
CN112579319B (zh) * 2020-12-07 2023-09-08 中国民航信息网络股份有限公司 一种基于LRU Cache优化的服务调用方法及装置
WO2022134358A1 (zh) * 2020-12-24 2022-06-30 平安科技(深圳)有限公司 微服务数据的处理方法、装置、微服务处理平台及介质
CN113259407B (zh) * 2021-03-25 2023-02-03 上海卓悠网络科技有限公司 一种基于应用市场架构的数据交互方法及设备
CN113259407A (zh) * 2021-03-25 2021-08-13 上海卓悠网络科技有限公司 一种基于应用市场架构的数据交互方法及设备
CN113259436A (zh) * 2021-05-12 2021-08-13 建信金融科技有限责任公司 网络请求的处理方法和装置
CN114143324A (zh) * 2021-10-27 2022-03-04 上海卓悠网络科技有限公司 一种基于应用市场架构的负载均衡方法及设备
CN114048046A (zh) * 2021-11-08 2022-02-15 马上消费金融股份有限公司 一种服务的调用方法、装置及负载均衡设备
CN114884959A (zh) * 2022-03-23 2022-08-09 中国人寿保险股份有限公司 多云多活架构的部署方法及相关设备
CN115103008A (zh) * 2022-06-13 2022-09-23 北京奇艺世纪科技有限公司 一种服务请求转发系统
CN115103008B (zh) * 2022-06-13 2024-03-08 北京奇艺世纪科技有限公司 一种服务请求转发系统
CN115118767A (zh) * 2022-06-22 2022-09-27 中国银行股份有限公司 一种可定制化的单元化路由组件的实现方法、装置及设备
CN115118767B (zh) * 2022-06-22 2024-03-01 中国银行股份有限公司 一种可定制化的单元化路由组件的实现方法、装置及设备
CN115396492A (zh) * 2022-08-03 2022-11-25 深圳前海环融联易信息科技服务有限公司 服务请求方法、装置、计算机设备及程序产品
CN115396492B (zh) * 2022-08-03 2023-11-17 深圳前海环融联易信息科技服务有限公司 服务请求方法、装置、计算机设备及程序产品
CN117041329A (zh) * 2023-10-08 2023-11-10 南京翼辉信息技术有限公司 一种基于异构总线结构的微服务配置系统及其控制方法
CN117041329B (zh) * 2023-10-08 2023-12-15 南京翼辉信息技术有限公司 一种基于异构总线结构的微服务配置系统及其控制方法

Also Published As

Publication number Publication date
CN110381163B (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN110381163A (zh) 网关节点转发服务请求的方法及网关节点
US11438255B2 (en) Automated route propagation among networks attached to scalable virtual traffic hubs
US11831600B2 (en) Domain name system operations implemented using scalable virtual traffic hub
US10742446B2 (en) Interconnecting isolated networks with overlapping address ranges via scalable virtual traffic hubs
US10797989B2 (en) Scalable virtual traffic hub interconnecting isolated networks
US10785146B2 (en) Scalable cell-based packet processing service using client-provided decision metadata
CN105635345B (zh) 域名资源记录管理方法和装置
CN104954219B (zh) Cdn网络访问路径优化方法、装置及系统
US8756298B2 (en) System for automatic configuration of computers in a server farm
US8805975B2 (en) Using routing protocols to optimize resource utilization
US7734787B2 (en) Method and system for managing quality of service in a network
US8805973B2 (en) Using routing protocols to migrate a hosted account
EP3249546A1 (en) Content delivery network
US20120054265A1 (en) Optimized Content Distribution Based on Metrics Derived from the End User
CN106790692A (zh) 一种多集群的负载均衡方法和装置
US9354940B2 (en) Provisioning tenants to multi-tenant capable services
CN110445886A (zh) 一种实现域名访问加速的方法和系统
US8819198B2 (en) Using static routing to migrate a hosted account
CN108737591A (zh) 一种服务配置的方法及装置
CN109818821A (zh) 一种网站cdn架构的检测方法及装置
EP3853708B1 (en) Scalable cell based packet processing service using client provided decision metadata
US20100146121A1 (en) Using static routing to optimize resource utilization
CN105376342B (zh) 用于在互联网中确定用户分区的装置和方法以及采用所述装置的服务器
Bochmann et al. Scalability of web-based electronic commerce systems
CN117978637A (zh) 一种基于Envoy网关的DNS监测管理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant