CN109617807B - 路由信息更新方法、装置、网关及存储介质 - Google Patents
路由信息更新方法、装置、网关及存储介质 Download PDFInfo
- Publication number
- CN109617807B CN109617807B CN201811626999.5A CN201811626999A CN109617807B CN 109617807 B CN109617807 B CN 109617807B CN 201811626999 A CN201811626999 A CN 201811626999A CN 109617807 B CN109617807 B CN 109617807B
- Authority
- CN
- China
- Prior art keywords
- server
- service
- gateway
- route information
- destination
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/29—Flow control; Congestion control using a combination of thresholds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例公开了一种路由信息更新方法、装置、网关及存储介质,该方法包括:网关接收配置管理服务端推送的路由更新通知消息;网关向配置管理服务端拉取最新路由信息,比较最新路由信息与网关的路由信息表中的当前路由信息是否相同;若不相同,网关将最新路由信息更新至网关的路由信息表中。本申请实施例可以实现路由信息的动态更新。
Description
技术领域
本申请涉及计算机技术领域,具体涉及一种路由信息更新方法、装置、网关及存储介质。
背景技术
在互联网企业中,应用服务的负载均衡是十分重要的基础能力。传统的设计思想中,多采用以下的设计方案:在***的前端架一个F5或者Nginx等负载均衡的代理服务器,可以实现分流和降压。但是,在出现服务器的扩展或地址调整时,需要停服执行以上操作,然后更新服务列表和路由信息,更新后无法实时生效,需要重启服务才可以生效。
发明内容
本申请实施例提供了一种路由信息更新方法、装置、网关及存储介质,可以实现路由信息的动态更新。
第一方面,本申请实施例提供一种路由信息更新方法,包括:
网关接收配置管理服务端推送的路由更新通知消息;
所述网关向所述配置管理服务端拉取最新路由信息,比较所述最新路由信息与所述网关的路由信息表中的当前路由信息是否相同;
若不相同,所述网关将所述最新路由信息更新至所述网关的路由信息表中。
第二方面,本申请实施例提供了一种路由信息更新装置,包括
接收单元,用于接收配置管理服务端推送的路由更新通知消息;
拉取单元,用于向所述配置管理服务端拉取最新路由信息;
比较单元,用于比较所述最新路由信息与所述网关的路由信息表中的当前路由信息是否相同;
更新单元,用于在所述比较单元比较结果为否时,将所述最新路由信息更新至所述网关的路由信息表中。
第三方面,本申请实施例提供一种网关,包括处理器、存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
可以看出,本申请实施例中所描述的路由信息更新方法,该方法包括:网关接收配置管理服务端推送的路由更新通知消息;网关向配置管理服务端拉取最新路由信息,比较最新路由信息与网关的路由信息表中的当前路由信息是否相同;若不相同,网关将最新路由信息更新至网关的路由信息表中。本申请实施例中,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例公开的一种路由更新***的结构示意图;
图2是本申请实施例公开的一种路由信息更新方法的流程示意图;
图3是本申请实施例公开的一种负载均衡的实现方法的流程示意图;
图4是本申请实施例公开的一种负载均衡***的结构示意图;
图5是本申请实施例公开的另一种路由信息更新方法的流程示意图;
图6是本申请实施例公开的一种路由信息更新装置的结构示意图;
图7是本申请实施例公开的一种网关的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
本申请实施例所涉及到的配置管理服务端、网关可以是服务器、虚拟机、物理机、云端服务器等等。
下面对本申请实施例进行详细介绍。
为了更好理解本申请的路由信息更新方法,首先公开一种路由更新***。请参阅图1,图1是本申请实施例公开的一种路由更新***的结构示意图,如图1所示,该路由更新***包括配置管理服务端11和网关12。其中,配置管理服务端11和网关12都可以是服务器。配置管理服务端11还可以包括可视化管理界面,管理人员可以该可视化管理界面编辑并发布新的路由信息。配置管理服务端11可以具有自动推送功能,当配置管理服务端11中有新的路由信息发布后,可以向网关12推送路由更新通知消息。网关12可以是该路由更新***的一个客户端,网关12可以从配置管理服务端11实时拉取最新路由信息并进行更新。网关12可以包括***和拉取模块,***用于监听配置管理服务端11推送的路由更新通知消息,拉取模块用于从配置管理服务端11拉取最新的路由信息。本申请实施例中,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。
配置管理服务端11可以包括显示器,该显示器用于显示可视化显示界面。具体的,该显示器可以是显示屏,例如液晶显示屏。
基于图1所示的***,本申请实施例公开一种路由信息更新方法,请参阅图2,图2是本申请实施例公开的一种路由信息更新方法的流程示意图,如图2所示,该路由信息更新方法包括如下步骤。
201,网关接收配置管理服务端推送的路由更新通知消息。
本申请实施例中,配置管理服务端可以检测是否发生路由信息更新。具体的,配置服务端可以通过如下方式检测是否发生路由信息更新:
配置服务端检测是否有服务器上线、服务器下线、服务器信息更新中的任一种;
配置服务端检测是否发布新的路由更新信息;
若存在,则配置服务端认为发生路由信息更新,向网关推送路由更新通知消息,该路由更新通知消息用于通知网关。
其中,服务器信息包括服务器的名称、服务器中的服务实例的数量、服务器中的服务实例的名称。服务器信息更新,可以是服务器的名称更改,服务器中的服务实例的数量更改,服务器中的服务实例的名称的更改。
当有新服务器上线、新上线的服务器会向配置服务端上报自身的IP地址、提供的服务实例的名称、服务实例的数量等信息。
当有服务器下线时,服务器会向配置服务端发送通知消息。
其中,路由更新***的管理人员或维护人员可以在配置服务端上编辑并发布新的路由更新信息。
可选的,当配置服务端向网关推送路由更新通知消息之后,配置服务端会将最新路由信息放入配置服务端的缓存。在配置服务端向网关发送路由更新通知消息之后,配置服务端会将最新路由信息准备好,以便网关进行快速拉取,提高路由信息更新的速度。
202,网关向配置管理服务端拉取最新路由信息,比较最新路由信息与网关的路由信息表中的当前路由信息是否相同。若是,则结束本流程。若否,则执行步骤203。
本申请实施例中,网关接收配置管理服务端推送的路由更新通知消息后,网关会向配置管理服务端拉取最新路由信息,比较最新路由信息与网关的路由信息表中的当前路由信息是否相同。
网关向配置管理服务端拉取最新路由信息,具体可以为:网关向配置服务器发送路由信息获取请求,配置管理服务端接收到该路由信息获取请求后,将最新路由信息发送至网关。
可选的,网关定时向配置管理服务端拉取最新路由信息。
本申请实施例中,网关还可以定时拉取最新路由信息,可以每隔一段时间定时拉取。比如,可以每隔3秒拉取一次。
定时拉取可以防止配置管理服务端推送机制失效后导致路由信息更新不及时的情况,也能够及时更新路由信息。
由于有定时拉取的存在,网关接收配置管理服务端推送的路由更新通知消息时,网关有可能已经向配置管理服务端拉取了最新的路由信息。因此,网关接收配置管理服务端推送的路由更新通知消息后,需要比较最新路由信息与网关的路由信息表中的当前路由信息是否相同,避免重复执行步骤203,导致重复更新。
可选的,最新路由信息包括用户在配置管理服务端的可视化管理界面输入的路由信息,最新路由信息包括服务实例名称、服务器名称、服务器地址中的任一种。
本申请实施例中,配置管理服务端可以包括可视化管理界面,用户可以在可视化管理界面中输入至少一条路由信息。其中,路由信息包括服务实例名称、服务器名称、服务器地址中的至少一种。服务器地址可以包括服务器的路径,比如服务器的IP地址。请参阅图1,图1中的配置管理服务端中,用户可以在可视化管理界面编辑和发布路由信息。图1中的路由信息1、路由信息2和路由信息3都是用户编辑发布的路由信息。对于一些服务端无法自动更新的路由信息,由用户输入会更加便捷。比如,服务实例的名称发生变化后,服务器往往无法主动向配置管理服务端进行更新,由用户手动编辑发布会加快路由更新。
举例来说,路由信息可以包括请求路径前缀和服务实例名称组成。其中,请求路径前缀和服务实例名称都遵循key与value键值对的配置格式,key不可重复。
203,网关将最新路由信息更新至网关的路由信息表中。
本申请实施例中,路由信息表可以存储在网关的非易失性存储器中,还可以存储在网关的内存中。路由信息表还可以存储在本地文件***中,可以增加容灾能力。
本申请实施例中,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。
请参阅图3,图3是本申请实施例公开的一种负载均衡的实现方法的流程示意图,如图3所示,该负载均衡的实现方法包括如下步骤。
301,网关接收客户端发送的服务请求,该服务请求携带目标服务实例名称。
本申请实施例中,该负载均衡的实现方法可以应用于负载均衡***。
该负载均衡***请参阅图4,图4是本申请实施例公开的一种负载均衡***的结构示意图。如图4所示,该负载均衡***包括网关、客户端和服务器。客户端和服务器的数量都可以有多个,每个服务器可以包括一个或多个服务实例。服务器可以通过其包括的服务实例向客户端提供服务。
客户端可以向网关发送服务请求,该服务请求携带目标服务实例名称,以请求网关找到与该目标服务实例名称对应的目标服务实例。
302,网关从路由信息表中获取服务实例名称与服务器的对应关系,根据服务实例名称与服务器的对应关系确定与目标服务实例名称对应的至少一个服务器,至少一个服务器中的每个服务器均包括与目标服务实例名称对应的目标服务实例。
本申请实施例中,网关中可以存储最新的路由信息表,路由信息表中的每条路由信息可以包括服务实例名称、该服务实例名称对应的服务器的请求路径、该服务实例名称对应的服务器名称等。网关可以从注册中心获取所有的服务实例列表,从该服务实例列表中选择目标服务实例名称对应的目标服务实例名称。网关可以从该路由信息表中获取服务实例名称与服务器的对应关系。由于一个服务器中可以创建多个服务实例,而同一个服务实例有可能创建在多个服务器中,并且一个请求只会连接到一个服务实例。因此,网关可以根据服务实例名称与服务器的对应关系确定与目标服务实例名称对应的至少一个服务器,上述至少一个服务器中的每个服务器均创建有与目标服务实例名称对应的目标服务实例。举例来说,如果目标服务实例名称为XX服务实例,并且服务器1、服务器2、服务器3分别创建有XX服务实例1、XX服务实例2、XX服务实例3,则可以确定与该目标服务实施例对应的3个服务器分别为服务器1、服务器2、服务器3。
303,网关基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,服务连接用于与目标服务器中与目标服务实例名称对应的目标服务实例进行连接。
本申请实施例中,负载均衡策略可以基于每个服务器的负载来确定、也可以基于每个服务器的负载和性能来确定。服务器的负载可以基于服务器同一时间段同时运行的服务实例的类型和数量来确定。一般而言,该服务器同时运行的服务实例的数量越多,该服务器的负荷越大。当然,性能越好的服务器、其能够支持的负荷越大。
服务器的性能,可以包括服务器的运行速度、磁盘空间、容错能力、扩展能力、稳定性等参数。
可选的,负载均衡策略基于至少一个服务器的负荷和至少一个服务器的性能来确定,步骤303中,网关基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,具体为:
(11)网关确定至少一个服务器中每个服务器的负荷,根据每个服务器的负荷确定每个服务器的负荷权重值;
(12)网关确定至少一个服务器中每个服务器的性能,根据每个服务器的性能确定每个服务器的性能权重值;
(13)网关根据至少一个服务器中每个服务器的负荷权重值和性能权重值确定至少一个服务器中每个服务器的最终权值,从至少一个服务器中选择最终权值排名靠前的预设数量的服务器进行轮询,如果预设数量的服务器中的目标服务器响应轮询请求进行服务连接,则网关与目标服务器的目标服务实例进行服务连接。
其中,预设数量可以预先进行设定并存储在网关的存储器(比如,非易失性存储器)中。该预设数量的服务器中的目标服务器为响应该轮询请求的服务器。如果采用简单轮询,第一轮轮询得不到反馈结果,则会继续进行第二轮轮询,依次类推。对创建有该目标服务实例的所有的服务器都进行逐一轮询,则会导致性能较弱的服务器所在的服务实例依旧会在下一轮循环中接受轮询,导致性能不同的服务器承受着相同的负荷。本申请实施例加上权重再进行轮询,可以根据服务器的负荷和性能选择负荷和性能综合较优的服务器进行轮询,避免重复向负荷和性能较差的服务器重复轮询,可以降低服务器的负荷。
可选的,步骤303中,网关基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,具体可以为:
(21)网关确定至少一个服务器中每个服务器的负荷,得到每个服务器的负荷值;
(22)网关对至少一个服务器中负荷值低于预设负荷阈值的服务器轮询发送服务连接请求,确定至少一个服务器中负荷值低于预设负荷阈值的服务器中收到服务连接请求确认消息的服务器为目标服务器;
(23)若至少一个服务器中负荷值低于预设负荷阈值的服务器均未收到服务连接请求确认消息,网关获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接。
本申请实施例中,首先对至少一个服务器中负荷值低于预设负荷阈值的服务器轮询发送服务连接请求,如果网关有收到服务器发送的服务连接请求确认消息,则确定收到服务连接请求确认消息的服务器为目标服务器,网关与该目标服务器中的目标服务实例进行连接。如果一段时间之后,网关仍然没有收到服务连接请求确认消息,则网关停止轮询,网关获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器,与性能最高的服务器中的目标服务实施例进行连接。本申请实施例可以在轮询没有结果后,选择负荷值高于预设负荷阈值的服务器中性能最高的服务器进行服务连接,可以提高服务连接的效率。
可选的,服务请求还携带用户等级;网关获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接之前,方法包括:
若用户等级大于预设等级,网关执行获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接的步骤。
可选的,若用户等级小于预设等级,则网关继续执行(21)和步骤(22)。本申请实施例可以根据用户等级选择性能最高的服务器进行服务连接,可以为不同用户等级的用户提供差异化的服务。
本申请实施例中,网关可以根据负载均衡策略选择创建有目标服务实例的目标服务器进行服务连接,可以合理利用服务器资源,提高服务器的利用效率。
请参阅图5,图5是本申请实施例公开的另一种路由信息更新方法的流程示意图,如图5所示,该路由信息更新方法包括如下步骤。
501,网关接收配置管理服务端推送的路由更新通知消息。
502,网关向配置管理服务端拉取最新路由信息,比较最新路由信息与网关的路由信息表中的当前路由信息是否相同。如果相同,则结束本流程。如果不相同,则执行步骤503。
503,网关将最新路由信息更新至网关的路由信息表中。
504,网关接收客户端发送的服务请求,该服务请求携带目标服务实例名称。
505,网关从路由信息表中获取服务实例名称与服务器的对应关系,根据服务实例名称与服务器的对应关系确定与目标服务实例名称对应的至少一个服务器,至少一个服务器中的每个服务器均包括与目标服务实例名称对应的目标服务实例。
506,网关基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,服务连接用于与目标服务器中与目标服务实例名称对应的目标服务实例进行连接。
上述步骤501至步骤503的具体实施可以参见图2所示的步骤201至步骤203,上述步骤504至步骤506可以参见图3所示的步骤301至步骤303,此处不再赘述。
本申请实施例中,一方面,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。另一方面,网关还可以根据负载均衡策略选择创建有目标服务实例的目标服务器进行服务连接,可以合理利用服务器资源,提高服务器的利用效率。
上述主要从方法侧执行过程的角度对本申请实施例的方案进行了介绍。可以理解的是,终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本申请实施例可以根据上述方法示例对终端进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
请参阅图6,图6是本申请实施例公开的一种路由信息更新装置的结构示意图。如图6所示,该路由信息更新装置600包括接收单元601、拉取单元602、比较单元603和更新单元604,其中:
接收单元601,用于接收配置管理服务端推送的路由更新通知消息;
拉取单元602,用于向配置管理服务端拉取最新路由信息;
比较单元603,用于比较最新路由信息与网关的路由信息表中的当前路由信息是否相同;
更新单元604,用于在比较单元603比较结果为否时,将最新路由信息更新至网关的路由信息表中。
可选的,该拉取单元602,还用于定时向配置管理服务端拉取最新路由信息。
可选的,最新路由信息包括用户在配置管理服务端的可视化管理界面输入的路由信息,最新路由信息包括服务实例名称、服务器名称、服务器地址中的至少一种。
可选的,该路由信息更新装置600还包括获取单元605、确定单元606和服务连接单元607。
接收单元601,还用于接收客户端发送的服务请求,服务请求携带目标服务实例名称;
获取单元605,用于从路由信息表中获取服务实例名称与服务器的对应关系;
确定单元606,用于根据服务实例名称与服务器的对应关系确定与目标服务实例名称对应的至少一个服务器,至少一个服务器中的每个服务器均包括与目标服务实例名称对应的目标服务实例;
服务连接单元607,用于基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,服务连接用于与目标服务器中与目标服务实例名称对应的目标服务实例进行连接。
可选的,该服务连接单元607基于负载均衡策略从至少一个服务器中选择目标服务器进行服务连接,具体为:确定至少一个服务器中每个服务器的负荷,得到每个服务器的负荷值;对至少一个服务器中负荷值低于预设负荷阈值的服务器轮询发送服务连接请求,确定至少一个服务器中负荷值低于预设负荷阈值的服务器中收到服务连接请求确认消息的服务器为目标服务器。
可选的,获取单元605,用于当至少一个服务器中负荷值低于预设负荷阈值的服务器均未收到服务连接请求确认消息时,获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能;
该服务连接单元607,还用于选择性能最高的服务器进行服务连接。
可选的,服务请求还携带用户等级;
该获取单元605,还用于当用户等级大于预设等级时,获取至少一个服务器中负荷值高于预设负荷阈值的服务器中每个服务器的性能。
实施图6所示的装置,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。此外,网关还可以根据负载均衡策略选择创建有目标服务实例的目标服务器进行服务连接,可以合理利用服务器资源,提高服务器的利用效率。
请参阅图7,图7是本申请实施例公开的一种网关的结构示意图。如图7所示,该网关700包括处理器701和存储器702,其中,网关700还可以包括总线703,处理器701和存储器702可以通过总线703相互连接,总线703可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。存储器702用于存储包含指令的一个或多个程序;处理器701用于调用存储在存储器702中的指令执行上述图2至图5中的部分或全部方法步骤。
实施图6所示的网关,无需采用代理服务器,网关可以在接收到路由更新通知后,主动向配置管理服务端拉取最新路由信息进行更新,在出现路由更新时,由网关直接进行更新,可以实现路由信息的动态更新。此外,网关还可以根据负载均衡策略选择创建有目标服务实例的目标服务器进行服务连接,可以合理利用服务器资源,提高服务器的利用效率。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任何一种路由信息更新方法的部分或全部步骤。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,该计算机程序可操作来使计算机执行如上述方法实施例中记载的任何一种路由信息更新方法的部分或全部步骤。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种路由信息更新方法,其特征在于,包括:
网关接收配置管理服务端推送的路由更新通知消息;
所述网关向所述配置管理服务端拉取最新路由信息,比较所述最新路由信息与所述网关的路由信息表中的当前路由信息是否相同;
若不相同,所述网关将所述最新路由信息更新至所述网关的路由信息表中;
所述方法包括:
所述网关接收客户端发送的服务请求,所述服务请求携带目标服务实例名称;
所述网关从所述路由信息表中获取服务实例名称与服务器的对应关系,根据服务实例名称与服务器的对应关系确定与所述目标服务实例名称对应的至少一个服务器,所述至少一个服务器中的每个服务器均包括与所述目标服务实例名称对应的目标服务实例;
所述网关基于负载均衡策略从所述至少一个服务器中选择目标服务器进行服务连接,所述服务连接用于与所述目标服务器中与所述目标服务实例名称对应的目标服务实例进行连接;
所述网关基于负载均衡策略从所述至少一个服务器中选择目标服务器进行服务连接,包括:
所述网关确定所述至少一个服务器中每个服务器的负荷,得到每个服务器的负荷值;
所述网关对所述至少一个服务器中负荷值低于预设负荷阈值的服务器轮询发送服务连接请求,确定所述至少一个服务器中负荷值低于所述预设负荷阈值的服务器中向所述网关发送服务连接请求确认消息的服务器为目标服务器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述网关定时向所述配置管理服务端拉取最新路由信息。
3.根据权利要求1所述的方法,其特征在于,所述最新路由信息包括用户在所述配置管理服务端的可视化管理界面输入的路由信息,所述最新路由信息包括服务实例名称、服务器名称、服务器地址中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述网关未收到所述至少一个服务器中负荷值低于所述预设负荷阈值的服务器发送的服务连接请求确认消息,所述网关获取所述至少一个服务器中负荷值高于所述预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接。
5.根据权利要求4所述的方法,其特征在于,所述服务请求还携带用户等级;所述网关获取所述至少一个服务器中负荷值高于所述预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接之前,所述方法包括:
若所述用户等级大于预设等级,所述网关执行所述获取所述至少一个服务器中负荷值高于所述预设负荷阈值的服务器中每个服务器的性能,选择性能最高的服务器进行服务连接的步骤。
6.一种路由信息更新装置,其特征在于,包括:
接收单元,用于接收配置管理服务端推送的路由更新通知消息;
拉取单元,用于向所述配置管理服务端拉取最新路由信息;
比较单元,用于比较所述最新路由信息与网关的路由信息表中的当前路由信息是否相同;
更新单元,用于在所述比较单元比较结果为否时,将所述最新路由信息更新至所述网关的路由信息表中;
所述路由信息更新装置还包括获取单元、确定单元和服务连接单元,
所述接收单元,还用于接收客户端发送的服务请求,所述服务请求携带目标服务实例名称;
所述获取单元,用于从所述路由信息表中获取服务实例名称与服务器的对应关系;
所述确定单元,用于根据服务实例名称与服务器的对应关系确定与所述目标服务实例名称对应的至少一个服务器,所述至少一个服务器中的每个服务器均包括与所述目标服务实例名称对应的目标服务实例;
所述服务连接单元,用于基于负载均衡策略从所述至少一个服务器中选择目标服务器进行服务连接,所述服务连接用于与所述目标服务器中与所述目标服务实例名称对应的目标服务实例进行连接;
所述服务连接单元基于负载均衡策略从所述至少一个服务器中选择目标服务器进行服务连接,具体为:
所述服务连接单元确定所述至少一个服务器中每个服务器的负荷,得到每个服务器的负荷值;对所述至少一个服务器中负荷值低于预设负荷阈值的服务器轮询发送服务连接请求,确定所述至少一个服务器中负荷值低于所述预设负荷阈值的服务器中向所述网关发送服务连接请求确认消息的服务器为目标服务器。
7.一种网关,其特征在于,包括处理器以及存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序被配置成由所述处理器执行,所述程序包括用于执行如权利要求1~5任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1~5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626999.5A CN109617807B (zh) | 2018-12-28 | 2018-12-28 | 路由信息更新方法、装置、网关及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811626999.5A CN109617807B (zh) | 2018-12-28 | 2018-12-28 | 路由信息更新方法、装置、网关及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109617807A CN109617807A (zh) | 2019-04-12 |
CN109617807B true CN109617807B (zh) | 2019-10-22 |
Family
ID=66011748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811626999.5A Active CN109617807B (zh) | 2018-12-28 | 2018-12-28 | 路由信息更新方法、装置、网关及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109617807B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110351190B (zh) * | 2019-06-17 | 2022-10-28 | 深圳壹账通智能科技有限公司 | 路由控制方法、装置以及计算机设备 |
CN111092934B (zh) * | 2019-11-26 | 2022-06-07 | 福建天泉教育科技有限公司 | 更新客户端路由的方法、存储介质 |
CN111181860A (zh) * | 2020-01-07 | 2020-05-19 | 苏宁云计算有限公司 | 基于zuul网关的路由转发方法、装置及*** |
CN111669292B (zh) * | 2020-06-19 | 2023-06-20 | 普元信息技术股份有限公司 | 微服务架构下实现网关动态路由控制的方法 |
CN114172842B (zh) * | 2020-09-10 | 2023-09-19 | ***通信有限公司研究院 | 一种数据传输处理方法、装置、设备及可读存储介质 |
CN112260876B (zh) * | 2020-10-26 | 2022-08-16 | 欧冶云商股份有限公司 | 动态网关路由配置方法、平台、计算机设备及存储介质 |
CN113765982A (zh) * | 2020-12-17 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种请求响应方法、装置、***、服务器和存储介质 |
CN113452617B (zh) * | 2021-06-24 | 2023-12-19 | 上海豹云网络信息服务有限公司 | 动态网关路由管理方法、装置及存储介质 |
CN114489822A (zh) * | 2022-01-27 | 2022-05-13 | 苏州盛科通信股份有限公司 | 热启动实现方法的装置 |
CN117081976B (zh) * | 2023-10-17 | 2024-01-16 | 建银工程咨询有限责任公司 | 网关路由的配置方法及其装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932271A (zh) * | 2012-11-27 | 2013-02-13 | 无锡城市云计算中心有限公司 | 负载均衡的实现方法和装置 |
CN107026907A (zh) * | 2017-03-30 | 2017-08-08 | 上海斐讯数据通信技术有限公司 | 一种负载均衡方法、负载均衡器及负载均衡*** |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN108810116A (zh) * | 2018-05-29 | 2018-11-13 | Oppo广东移动通信有限公司 | 消息处理方法及相关产品 |
CN108900329A (zh) * | 2018-06-21 | 2018-11-27 | 珠海宏桥高科技有限公司 | 基于网关基础服务的实时动态转发方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030187982A1 (en) * | 2002-03-27 | 2003-10-02 | Patrick Petit | System and method for resource load balancing in a portal server |
CN101610211A (zh) * | 2009-07-15 | 2009-12-23 | 浪潮电子信息产业股份有限公司 | 一种实现加权轮询的高速缓存负载均衡方法 |
US8769541B2 (en) * | 2009-12-31 | 2014-07-01 | Facebook, Inc. | Load balancing web service by rejecting connections |
CN102497421B (zh) * | 2011-12-12 | 2014-05-28 | 湖南科技大学 | 公平性好的Web服务器集群***轮询调度负载均衡方法 |
-
2018
- 2018-12-28 CN CN201811626999.5A patent/CN109617807B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102932271A (zh) * | 2012-11-27 | 2013-02-13 | 无锡城市云计算中心有限公司 | 负载均衡的实现方法和装置 |
CN107026907A (zh) * | 2017-03-30 | 2017-08-08 | 上海斐讯数据通信技术有限公司 | 一种负载均衡方法、负载均衡器及负载均衡*** |
CN107819870A (zh) * | 2017-11-21 | 2018-03-20 | 广州视睿电子科技有限公司 | 增量拉取数据方法、装置、存储介质、终端设备和服务器 |
CN108810116A (zh) * | 2018-05-29 | 2018-11-13 | Oppo广东移动通信有限公司 | 消息处理方法及相关产品 |
CN108900329A (zh) * | 2018-06-21 | 2018-11-27 | 珠海宏桥高科技有限公司 | 基于网关基础服务的实时动态转发方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109617807A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109617807B (zh) | 路由信息更新方法、装置、网关及存储介质 | |
CN102934087B (zh) | 当侦测到退化网络链路操作时在网络服务器之间迁移虚拟机 | |
EP3103023B1 (en) | Private cloud connected device cluster architecture | |
CN109547570A (zh) | 服务注册方法、装置、注册中心管理设备及存储介质 | |
US8676912B2 (en) | Topic-based messaging using consumer address and pool | |
CN104885407A (zh) | 一种网络功能虚拟化nfv故障管理装置、设备及方法 | |
CN102763373B (zh) | 基于远程访问使用本地网络装置的服务的方法和设备 | |
CN103403683A (zh) | 虚拟数据中心服务请求的基于能力的路由 | |
CN102708004A (zh) | 虚拟应用交付机箱*** | |
CN108712457A (zh) | 基于Nginx反向代理的后端服务器动态负载调整方法及装置 | |
CN103581276A (zh) | 集群管理装置、***、业务客户端及相应方法 | |
CN103731487A (zh) | 一种资源文件的下载方法、装置、***及路由器 | |
US8230031B2 (en) | System and method for providing enhanced instant messaging | |
CN113742031A (zh) | 节点状态信息获取方法、装置、电子设备及可读存储介质 | |
CN105553682B (zh) | 事件通知方法及用于事件通知的*** | |
CN103229480A (zh) | 分布式存储***中的数据处理方法及设备、客户端 | |
CN102984174B (zh) | 一种发布订阅***中可靠性保障方法及*** | |
CN102685209B (zh) | 一种协助用户设备收发即时消息的方法、装置和设备 | |
CN106411713B (zh) | 一种状态通知方法及服务器 | |
CN108650337B (zh) | 一种服务器探测方法、***及存储介质 | |
CN109150981B (zh) | 区块链网络组网方法、装置、设备及计算机可读存储介质 | |
CN105493444A (zh) | 一种网络功能虚拟化nfv故障管理装置、设备及方法 | |
US20110125852A1 (en) | Keyword filtered alerts for group chats | |
CN106357728B (zh) | 信息处理方法、***及终端 | |
CN108366102A (zh) | 一种基于Consul的服务发现方法、装置及电子设备 |
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 |