CN114640633A - 负载均衡器及其实现方法、负载均衡的方法、网关系统 - Google Patents
负载均衡器及其实现方法、负载均衡的方法、网关系统 Download PDFInfo
- Publication number
- CN114640633A CN114640633A CN202210317360.9A CN202210317360A CN114640633A CN 114640633 A CN114640633 A CN 114640633A CN 202210317360 A CN202210317360 A CN 202210317360A CN 114640633 A CN114640633 A CN 114640633A
- Authority
- CN
- China
- Prior art keywords
- container
- proxy
- configuration
- service
- envoy
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012544 monitoring process Methods 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 13
- 230000009471 action Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- 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
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/10—Architectures or entities
- H04L65/102—Gateways
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种负载均衡器及其实现方法、负载均衡的方法、网关系统,所述负载均衡器的实现方法,包括:代理控制器AgentController向目标主机上的负载均衡网关代理发送包括创建配置信息的创建请求;目标主机指代多个主机中的任意一台;负载均衡网关代理根据创建配置信息创建代理容器envoycontainer,以及生成并挂载代理容器envoycontainer的配置文件,并利用容器引擎Docker的网络启动代理容器envoycontainer;代理容器envoycontainer基于配置文件中的配置服务XDSserver的地址,拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
Description
技术领域
本申请涉及负载均衡技术领域,特别涉及一种负载均衡器及其实现方法、负载均衡的方法、网关系统。
背景技术
为了能提供网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性等,当前的系统通常都会对访问请求进行负载均衡。
当前,对于从使用镜像仓库拉取镜像,通常在前端使用LVS+keepalived实现虚拟IP的自动切换,后端使用Nginx或者HAProxy实现7层负载均衡,从而可以对后端的节点进行流量和访问的负载均衡。
但是利用Nginx或者HAProxy实现的负载均衡,都是基于文件进行配置的,所以当后端增加节点或者存在其他方便的更新时,必须重新修改或者生成配置文件,然后再将配置文件进行重新加载生效,对于后端也需要进行重新启动,所以非常的不方便。
发明内容
基于上述现有技术的不足,本申请提供了一种负载均衡器及其实现方法、负载均衡的方法、网关系统,以解决现有在进行变更时过于繁琐的问题。
为了实现上述目的,本申请提供了以下技术方案:
本申请第一方面提供了一种负载均衡器的实现方法,应用于网关系统,所述网关系统至少包括网关控制服务以及多台主机,所述网关控制服务包括代理控制器AgentController以及配置服务XDS server,每台所述主机部署有容器引擎Docker以及负载均衡网关代理,所述负载均衡器的实现方法,包括:
所述代理控制器Agent Controller向目标主机上的所述负载均衡网关代理发送创建请求;其中,所述创建请求包括创建配置信息;所述目标主机指代所述多个主机中的任意一台;
所述目标主机上的所述负载均衡网关代理根据所述创建配置信息创建代理容器envoy container,以及生成并挂载所述代理容器envoy container的配置文件;
所述负载均衡网关代理服务利用所述容器引擎Docker的网络启动所述代理容器envoy container;
所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
可选地,在上述的负载均衡器的实现方法中,所述网关系统还包括高可用服务keepalived,所述代理控制器Agent Controller向目标主机上的所述负载均衡网关代理发送创建请求之后,还包括:
所述目标主机上的所述负载均衡网关代理调用所述高可用服务keepalived为所述目标主机以及其他备用的所述主机生成对应的IP。
可选地,在上述的负载均衡器的实现方法中,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container之前,还包括:
所述容器引擎Docker响应网络创建操作,为所述代理容器envoy container创建所述容器引擎Docker的MACVLAN网络;
其中,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container,包括:
所述负载均衡网关代理服务调用所述容器引擎Docker的MACVLAN网络为所述代理容器envoy container分配网络地址,并基于所述网络地址启动所述代理容器envoycontainer。
可选地,在上述的负载均衡器的实现方法中,所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡,包括:
所述代理容器envoy container通过对应的发现机制监听所述配置文件中的所述配置服务XDS server的地址;其中,所述发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现;
当监听到所述配置文件中的所述配置服务XDS server的任意地址中的所述目标服务配置更新时,所述代理容器envoy container拉取最新的所述目标服务配置用于对应用程序的请求进行负载均衡。
本申请第二方面提供了一种负载均衡的方法,应用于负载均衡器,所述负载均衡器为在网关系统中创建的代理容器envoy container,所述负载均衡的方法,包括:
获取应用程序发送的请求;
基于从所述网关系统的所述配置服务XDS server中拉取到的最新的目标服务配置对所述请求进行负载均衡;其中,所述目标服务配置由所述代理容器envoy container在启动后基于其配置文件中的配置服务XDS server的地址,从所述配置服务XDS server中拉取到;所述代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据所述创建配置信息生成并挂载;所述目标主机指代所述多个主机中的任意一台;所述创建请求时由所述网关系统中的所述代理控制器Agent Controller发送;所述代理容器envoy container由所述负载均衡网关代理服务利用所述网关系统中的容器引擎Docker的网络启动。
本申请第三方面提供了一种网关系统,包括:
网关控制服务以及多台主机;
所述网关控制服务包括代理控制器Agent Controller以及配置服务XDS server;
每台所述主机部署有容器引擎Docker以及负载均衡网关代理;
所述代理控制器Agent Controller用于向目标主机上的所述负载均衡网关代理发送创建请求;其中,所述创建请求包括创建配置信息;所述目标主机指代所述多个主机中的任意一台;
所述负载均衡网关代理用于根据所述创建配置信息创建代理容器envoycontainer,以及生成并挂载所述代理容器envoy container的配置文件,并利用所述容器引擎Docker的网络启动所述代理容器envoy container;其中,所述代理容器envoycontainer在启动后基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
可选地,在上述提供的网关系统中,还包括:
高可用服务keepalived,用于为所述目标主机以及其他备用的所述主机生成对应的IP。
可选地,在上述提供的网关系统中,所述容器引擎Docker还用于:
响应网络创建操作,为所述代理容器envoy container创建所述容器引擎Docker的MACVLAN网络;
其中,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container时,用于:
调用所述容器引擎Docker的MACVLAN网络为所述代理容器envoy container分配网络地址,并基于所述网络地址启动所述代理容器envoy container。
可选地,在上述提供的网关系统中,所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡时,用于:
通过对应的发现机制监听所述配置文件中的所述配置服务XDS server的地址;其中,所述发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现;
当监听到所述配置文件中的所述配置服务XDS server的任意地址中的所述目标服务配置更新时,拉取最新的所述目标服务配置用于对应用程序的请求进行负载均衡。
本申请第四方面提供了一种负载均衡器,所述负载均衡器为在网关系统中创建的代理容器envoy container,所述负载均衡器,包括:
获取单元,用于获取应用程序发送的请求;
负载均衡单元,用于基于从所述网关系统的所述配置服务XDS server中拉取到的最新的目标服务配置对所述请求进行负载均衡;其中,所述目标服务配置由所述代理容器envoy container在启动后基于其配置文件中的配置服务XDS server的地址,从所述配置服务XDS server中拉取到;所述代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据所述创建配置信息生成并挂载;所述目标主机指代所述多个主机中的任意一台;所述创建请求时由所述网关系统中的所述代理控制器Agent Controller发送;所述代理容器envoycontainer由所述负载均衡网关代理服务利用所述网关系统中的容器引擎Docker的网络启动。
本申请提供的一种负载均衡器的实现方法,应用于网关系统,该网关系统至少包括网关控制服务以及多台主机,网关控制服务包括代理控制器Agent Controller以及配置服务XDS server,每台主机部署有容器引擎Docker以及负载均衡网关代理。在需要创建负载均衡器时,代理控制器Agent Controller向目标主机上的负载均衡网关代理发送创建请求。其中,创建请求包括创建配置信息,目标主机指代所述多个主机中的任意一台。目标主机上的负载均衡网关代理根据所述创建配置信息创建代理容器envoy container,以及生成并挂载代理容器envoy container的配置文件,然后利用容器引擎Docker的网络启动代理容器envoy container。启动后的代理容器envoy container基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。从而在新增节点或者存在其他变更时,只需要通过配置服务XDSserver进行动态配置,即可以将配置拉取,用于负载均衡,不需要重新启动。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种网关系统的架构示意图;
图2为本申请实施例提供的一种负载均衡器的实现方法的流程图;
图3为本申请另一实施例提供的另一种负载均衡器的实现方法的流程图;
图4为本申请另一实施例提供的一种负载均衡的方法的流程图;
图5为本申请另一实施例提供的一种负载均衡器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本申请提供了一种负载均衡器的实现方法,应用于网关系统,即需要通过网关系统实现负载均衡器,以解决现有在进行变更时过于繁琐的问题。
可选地,为了实现本申请实施例提供的负载均衡器的实现方法,本申请另一实施例提供了一种网关系统,如图1所示,包括:
网关控制服务以及多台主机。
网关控制服务包括代理控制器Agent Controller以及配置服务XDS server。
每台主机部署有容器引擎Docker以及负载均衡网关代理。
代理控制器Agent Controller用于向目标主机上的负载均衡网关代理发送创建请求。其中,创建请求包括创建配置信息。目标主机指代多个主机中的任意一台。
负载均衡网关代理用于根据创建配置信息创建代理容器envoy container,以及生成并挂载代理容器envoy container的配置文件,并利用容器引擎Docker的网络启动代理容器envoy container。
其中,代理容器envoy container在启动后基于配置文件中的配置服务XDSserver的地址,从配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
可选地,在本申请另一实施例提供的网关系统中,还包括:
高可用服务keepalived,用于为目标主机以及其他备用的主机生成对应的IP。
可选地,在本申请另一实施例提供的网关系统中,容器引擎Docker还用于:
响应网络创建操作,为代理容器envoy container创建容器引擎Docker的MACVLAN网络。
其中,本申请实施例中的负载均衡网关代理服务利用容器引擎Docker的网络启动代理容器envoy container时,用于:
调用容器引擎Docker的MACVLAN网络为代理容器envoy container分配网络地址,并基于网络地址启动代理容器envoy container。
可选地,在本申请另一实施例提供的网关系统中,代理容器envoy container基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡时,用于:
通过对应的发现机制监听配置文件中的配置服务XDS server的地址。其中,发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现。
当监听到配置文件中的配置服务XDS server的任意地址中的目标服务配置更新时,拉取最新的目标服务配置用于对应用程序的请求进行负载均衡。
基于上述提供的网关系统,本申请实施例提供了一种负载均衡器的实现方法,具体应用于上述的网关系统,根据上述可知,网关系统至少包括网关控制服务以及多台主机,网关控制服务包括代理控制器Agent Controller以及配置服务XDS server,每台主机部署有容器引擎Docker以及负载均衡网关代理。
如图2所示,本申请实施例提供的负载均衡器的实现方法,包括以下步骤:
S201、代理控制器Agent Controller向目标主机上的负载均衡网关代理发送创建请求。
其中,创建请求包括创建配置信息。目标主机指代多个主机中的任意一台。
具体在需要创建负载均衡器时,开发人员可以根据创建的需求配置创建配置信息,具体包括了关于负载均衡器的相应的配置信息,然后通过代理控制器AgentController向一台主机上的负载均衡网关代理发送包括该配置信息的创建请求,以请求负载均衡网关代理创建负载均衡器。从而实现容器的动态创建。
需要说明的是,在本申请实施例中,使用代理容器envoy container来实现一个负载均衡器(软件网关),所以本申请实施例中的负载均衡器即为代理容器envoy container。Envoy代理本身支持动态路由规则,并且动态启动监听端口无需重新启动,还支持流量镜像,而且通过XDS协议可以动态的更新路由规则,后端地址等。
S202、目标主机上的负载均衡网关代理根据创建配置信息创建代理容器envoycontainer,以及生成并挂载代理容器envoy container的配置文件。
可选地,目标主机上的负载均衡网关代理在接收到创建请求后,可以在包括目标主机在内的多台主机上根据创建配置信息创建多个代理容器envoy container。然后根据创建配置信息生成代理容器envoy container的配置文件,配置文件中包括了代理容器envoy container所要监听的配置服务XDS server的地址,以便于代理容器envoycontainer监听动态发现、集群动态发现、服务端动态发现以及路由规则动态发现等,即能监听到目标服务配置的更新,以拉取最新的目标服务配置,用于负载均衡。
可选地,为了更好地实现高可用性,所以网关系统还可以进一步包括高可用服务keepalived。相应地,在本申请实施例中,在执行步骤S201之后,在执行步骤S202的同时,还可以进一步包括:
目标主机上的所述负载均衡网关代理调用高可用服务keepalived为目标主机以及其他备用的主机生成对应的IP。
其中,备用的主机指的是也同样创建了与目标主机相同的代理容器envoycontainer的主机。需要说明的是,高可用服务keepalived实现高可用性的方式属于现有的技术,因此此处不再赘述。
S203、负载均衡网关代理服务利用容器引擎Docker的网络启动代理容器envoycontainer。
具体的,通过容器引擎Docker动态创建Docker的网络,具体可以三层网络DockerMACVLAN,也可以是两层网络Docker IPVLAN,然后让代理容器envoy container与创建的网络进行关联,从而启动代理容器envoy container。
S204、代理容器envoy container基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
可选地,代理容器envoy container在首次启动后,可以基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取的目标服务配置。其中,目标服务配置可以包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现等发现的相关的服务配置。
可选地,在后续代理容器envoy container可以是定期基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取的目标服务配置。也可以是实时监听配置文件中的配置服务XDS server的地址,当发现监听的地址下存在配置更新时,拉取更新后的目标服务配置。
具体的,代理容器envoy container在拉取目标服务配置后,由于目标服务配置包括了路由规则、负载均衡规则等,所以当接收到应用程序发送的请求时,就可以基于路由规则、负载均衡规则等目标服务配置对该请求进行负载均衡。
本申请实施例提供的一种负载均衡器的实现方法,应用于网关系统,该网关系统至少包括网关控制服务以及多台主机,网关控制服务包括代理控制器Agent Controller以及配置服务XDS server,每台主机部署有容器引擎Docker以及负载均衡网关代理。在需要创建负载均衡器时,代理控制器Agent Controller向目标主机上的负载均衡网关代理发送创建请求。其中,创建请求包括创建配置信息,目标主机指代所述多个主机中的任意一台。目标主机上的负载均衡网关代理根据所述创建配置信息创建代理容器envoy container,以及生成并挂载代理容器envoy container的配置文件,然后利用容器引擎Docker的网络启动代理容器envoy container。启动后的代理容器envoy container基于配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。从而在新增节点或者存在其他变更时,只需要通过配置服务XDS server进行动态配置,即可以将配置拉取,用于负载均衡,不需要重新启动。
本申请另一实施例中提供了另一种负载均衡器的实现方法,同样应用于上述的网关系统。如图3所示,本申请实施例提供的负载均衡器的实现方法,包括以下步骤:
S301、代理控制器Agent Controller向目标主机上的负载均衡网关代理发送创建请求。
其中,创建请求包括创建配置信息。目标主机指代多个主机中的任意一台。
需要说明的是,在本申请实施例中,步骤S301的具体实施方式可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
S302、目标主机上的负载均衡网关代理根据创建配置信息创建代理容器envoycontainer,以及生成并挂载代理容器envoy container的配置文件。
需要说明的是,在本申请实施例中,步骤S301的具体实施方式可相应地参考上述方法实施例中的相应的步骤,此处不再赘述。
S303、容器引擎Docker响应网络创建操作,为代理容器envoy container创建容器引擎Docker的MACVLAN网络。
在本申请实施例中,通过动态创建的Docker的MACVLAN网络来进行代理容器envoycontainer的启动。当然,也可以采用其他的网络。
S304、负载均衡网关代理服务调用容器引擎Docker的MACVLAN网络为代理容器envoy container分配网络地址,并基于网络地址启动代理容器envoy container。
S305、代理容器envoy container通过对应的发现机制监听配置文件中的配置服务XDS server的地址。
其中,发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现。
在本申请实施例中,通过发现机制监听配置文件中的配置服务XDS server的地址,以能在配置的地址下出现文件更新时,可以及时拉取最新的目标服务配置,用于负载均衡。
S306、当监听到配置文件中的配置服务XDS server的任意地址中的目标服务配置更新时,代理容器envoy container拉取最新的目标服务配置用于对应用程序的请求进行负载均衡。
本申请另一实施例提供了一种负载均衡的方法,应用于上述任意一个实施例提供负载均衡器的实现方法所实现的负载均衡器。根据上述可知,在本申请实施例中,负载均衡器即为在网关系统中创建的代理容器envoy container。如图4所示,本申请实施例提供的负载均衡的方法,包括:
S401、获取应用程序发送的请求。
具体的,用户可以通过应用程序向后端发起请求,此时作为负载均衡器的代理容器envoy container将获取应用程序发送的请求,然后执行步骤S402。
S402、基于从网关系统的配置服务XDS server中拉取到的最新的目标服务配置对请求进行负载均衡。
其中,目标服务配置具体包括路由规则以及负载均衡规则等。所以代理容器envoycontainer基于拉取到的目标服务配置进行路由转发,即进行负载均衡。
其中,目标服务配置由代理容器envoy container在启动后基于其配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取到。代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据创建配置信息生成并挂载。目标主机指代多个主机中的任意一台。创建请求时由网关系统中的代理控制器Agent Controller发送。代理容器envoycontainer由负载均衡网关代理服务利用网关系统中的容器引擎Docker的网络启动。
需要说明的是,代理容器envoy container根据具体的实现方式,可相应地参考上述任意一个方法实施例提供负载均衡器的实现方法,此处不再赘述。
本申请实施例提供了一种负载均衡器,所述负载均衡器为在网关系统中创建的代理容器envoy container。如图5所示,本申请实施例提供的负载均衡器,包括:
获取单元501,用于获取应用程序发送的请求。
负载均衡单元502,用于基于从所述网关系统的所述配置服务XDS server中拉取到的最新的目标服务配置对所述请求进行负载均衡。
其中,目标服务配置由代理容器envoy container在启动后基于其配置文件中的配置服务XDS server的地址,从配置服务XDS server中拉取到。代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据创建配置信息生成并挂载。目标主机指代多个主机中的任意一台。创建请求时由网关系统中的代理控制器Agent Controller发送。代理容器envoycontainer由负载均衡网关代理服务利用网关系统中的容器引擎Docker的网络启动。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种负载均衡器的实现方法,其特征在于,应用于网关系统,所述网关系统至少包括网关控制服务以及多台主机,所述网关控制服务包括代理控制器Agent Controller以及配置服务XDS server,每台所述主机部署有容器引擎Docker以及负载均衡网关代理,所述负载均衡器的实现方法,包括:
所述代理控制器Agent Controller向目标主机上的所述负载均衡网关代理发送创建请求;其中,所述创建请求包括创建配置信息;所述目标主机指代所述多个主机中的任意一台;
所述目标主机上的所述负载均衡网关代理根据所述创建配置信息创建代理容器envoycontainer,以及生成并挂载所述代理容器envoy container的配置文件;
所述负载均衡网关代理服务利用所述容器引擎Docker的网络启动所述代理容器envoycontainer;
所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
2.根据权利要求1所述的方法,其特征在于,所述网关系统还包括高可用服务keepalived,所述代理控制器Agent Controller向目标主机上的所述负载均衡网关代理发送创建请求之后,还包括:
所述目标主机上的所述负载均衡网关代理调用所述高可用服务keepalived为所述目标主机以及其他备用的所述主机生成对应的IP。
3.根据权利要求1所述的方法,其特征在于,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container之前,还包括:
所述容器引擎Docker响应网络创建操作,为所述代理容器envoy container创建所述容器引擎Docker的MACVLAN网络;
其中,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container,包括:
所述负载均衡网关代理服务调用所述容器引擎Docker的MACVLAN网络为所述代理容器envoy container分配网络地址,并基于所述网络地址启动所述代理容器envoycontainer。
4.根据权利要求1所述的方法,其特征在于,所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡,包括:
所述代理容器envoy container通过对应的发现机制监听所述配置文件中的所述配置服务XDS server的地址;其中,所述发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现;
当监听到所述配置文件中的所述配置服务XDS server的任意地址中的所述目标服务配置更新时,所述代理容器envoy container拉取最新的所述目标服务配置用于对应用程序的请求进行负载均衡。
5.一种负载均衡的方法,其特征在于,应用于负载均衡器,所述负载均衡器为在网关系统中创建的代理容器envoy container,所述负载均衡的方法,包括:
获取应用程序发送的请求;
基于从所述网关系统的所述配置服务XDS server中拉取到的最新的目标服务配置对所述请求进行负载均衡;其中,所述目标服务配置由所述代理容器envoy container在启动后基于其配置文件中的配置服务XDS server的地址,从所述配置服务XDS server中拉取到;所述代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据所述创建配置信息生成并挂载;所述目标主机指代所述多个主机中的任意一台;所述创建请求时由所述网关系统中的所述代理控制器Agent Controller发送;所述代理容器envoy container由所述负载均衡网关代理服务利用所述网关系统中的容器引擎Docker的网络启动。
6.一种网关系统,其特征在于,包括:
网关控制服务以及多台主机;
所述网关控制服务包括代理控制器Agent Controller以及配置服务XDS server;
每台所述主机部署有容器引擎Docker以及负载均衡网关代理;
所述代理控制器Agent Controller用于向目标主机上的所述负载均衡网关代理发送创建请求;其中,所述创建请求包括创建配置信息;所述目标主机指代所述多个主机中的任意一台;
所述负载均衡网关代理用于根据所述创建配置信息创建代理容器envoy container,以及生成并挂载所述代理容器envoy container的配置文件,并利用所述容器引擎Docker的网络启动所述代理容器envoy container;其中,所述代理容器envoy container在启动后基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡。
7.根据权利要求6所述的网关系统,其特征在于,还包括:
高可用服务keepalived,用于为所述目标主机以及其他备用的所述主机生成对应的IP。
8.根据权利要求6所述的网关系统,其特征在于,所述容器引擎Docker还用于:
响应网络创建操作,为所述代理容器envoy container创建所述容器引擎Docker的MACVLAN网络;
其中,所述负载均衡网关代理服务利用容器引擎Docker的网络启动所述代理容器envoy container时,用于:
调用所述容器引擎Docker的MACVLAN网络为所述代理容器envoy container分配网络地址,并基于所述网络地址启动所述代理容器envoy container。
9.根据权利要求6所述的网关系统,其特征在于,所述代理容器envoy container基于所述配置文件中的所述配置服务XDS server的地址,从所述配置服务XDS server中拉取最新的目标服务配置,用于对应用程序的请求进行负载均衡时,用于:
通过对应的发现机制监听所述配置文件中的所述配置服务XDS server的地址;其中,所述发现机制包括监听动态发现、集群动态发现、服务端点动态发现、路由规则动态发现;
当监听到所述配置文件中的所述配置服务XDS server的任意地址中的所述目标服务配置更新时,拉取最新的所述目标服务配置用于对应用程序的请求进行负载均衡。
10.一种负载均衡器,其特征在于,所述负载均衡器为在网关系统中创建的代理容器envoy container,所述负载均衡器,包括:
获取单元,用于获取应用程序发送的请求;
负载均衡单元,用于基于从所述网关系统的所述配置服务XDS server中拉取到的最新的目标服务配置对所述请求进行负载均衡;其中,所述目标服务配置由所述代理容器envoycontainer在启动后基于其配置文件中的配置服务XDS server的地址,从所述配置服务XDSserver中拉取到;所述代理容器envoy container的配置文件由目标主机上的负载均衡网关代理根据创建请求中的创建配置信息创建代理容器envoy container时,根据所述创建配置信息生成并挂载;所述目标主机指代所述多个主机中的任意一台;所述创建请求时由所述网关系统中的所述代理控制器Agent Controller发送;所述代理容器envoycontainer由所述负载均衡网关代理服务利用所述网关系统中的容器引擎Docker的网络启动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210317360.9A CN114640633B (zh) | 2022-03-29 | 2022-03-29 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
PCT/CN2022/124069 WO2023184925A1 (zh) | 2022-03-29 | 2022-10-09 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210317360.9A CN114640633B (zh) | 2022-03-29 | 2022-03-29 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640633A true CN114640633A (zh) | 2022-06-17 |
CN114640633B CN114640633B (zh) | 2024-04-05 |
Family
ID=81952216
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210317360.9A Active CN114640633B (zh) | 2022-03-29 | 2022-03-29 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114640633B (zh) |
WO (1) | WO2023184925A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184925A1 (zh) * | 2022-03-29 | 2023-10-05 | 京东科技信息技术有限公司 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117978611A (zh) * | 2024-01-19 | 2024-05-03 | 广东慧云科技股份有限公司 | 一种运维管理系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302771A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Docker容器创建的应用的域名配置方法 |
CN106790595A (zh) * | 2016-12-29 | 2017-05-31 | 上海理想信息产业(集团)有限公司 | 一种Docker容器主动负载均衡装置及方法 |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
EP3716533A1 (en) * | 2019-03-29 | 2020-09-30 | Juniper Networks, Inc. | Configuring service load balancers with specified backend virtual networks |
CN113067739A (zh) * | 2021-04-29 | 2021-07-02 | 中国工商银行股份有限公司 | 一种高密度容器网络部署方法及系统 |
WO2021210801A1 (ko) * | 2020-04-14 | 2021-10-21 | 삼성전자 주식회사 | 이동 통신 네트워크에서 동적이고 효율적인 로드 밸런싱을 위한 방법 및 장치 |
CN113556267A (zh) * | 2021-07-20 | 2021-10-26 | 全球能源互联网研究院有限公司 | 一种终端设备状态监测方法、系统及边缘物联代理网关 |
CN113835825A (zh) * | 2021-03-03 | 2021-12-24 | 京东科技控股股份有限公司 | 虚拟服务主机的动态调整方法、装置、服务器和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012131428A1 (en) * | 2011-03-28 | 2012-10-04 | Telefonaktiebolaget L M Ericsson (Publ) | Method, apparatus and computer program product for updating load balancer configuration data |
CN113949707B (zh) * | 2021-09-30 | 2024-04-30 | 上海浦东发展银行股份有限公司 | 基于OpenResty和K8S的容器云服务发现和负载均衡方法 |
CN114640633B (zh) * | 2022-03-29 | 2024-04-05 | 京东科技信息技术有限公司 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
-
2022
- 2022-03-29 CN CN202210317360.9A patent/CN114640633B/zh active Active
- 2022-10-09 WO PCT/CN2022/124069 patent/WO2023184925A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302771A (zh) * | 2016-08-23 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种基于Docker容器创建的应用的域名配置方法 |
CN106790595A (zh) * | 2016-12-29 | 2017-05-31 | 上海理想信息产业(集团)有限公司 | 一种Docker容器主动负载均衡装置及方法 |
CN107426034A (zh) * | 2017-08-18 | 2017-12-01 | 国网山东省电力公司信息通信公司 | 一种基于云平台的大规模容器调度系统及方法 |
EP3716533A1 (en) * | 2019-03-29 | 2020-09-30 | Juniper Networks, Inc. | Configuring service load balancers with specified backend virtual networks |
WO2021210801A1 (ko) * | 2020-04-14 | 2021-10-21 | 삼성전자 주식회사 | 이동 통신 네트워크에서 동적이고 효율적인 로드 밸런싱을 위한 방법 및 장치 |
CN113835825A (zh) * | 2021-03-03 | 2021-12-24 | 京东科技控股股份有限公司 | 虚拟服务主机的动态调整方法、装置、服务器和存储介质 |
CN113067739A (zh) * | 2021-04-29 | 2021-07-02 | 中国工商银行股份有限公司 | 一种高密度容器网络部署方法及系统 |
CN113556267A (zh) * | 2021-07-20 | 2021-10-26 | 全球能源互联网研究院有限公司 | 一种终端设备状态监测方法、系统及边缘物联代理网关 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023184925A1 (zh) * | 2022-03-29 | 2023-10-05 | 京东科技信息技术有限公司 | 负载均衡器及其实现方法、负载均衡的方法、网关系统 |
Also Published As
Publication number | Publication date |
---|---|
WO2023184925A1 (zh) | 2023-10-05 |
CN114640633B (zh) | 2024-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3968610B1 (en) | Method, device, and system for selecting mobile edge computing node | |
CN110855633B (zh) | Ddos攻击的防护方法、装置、系统、通信设备和存储介质 | |
US9596134B2 (en) | Synchronization of configuration file of virtual application distribution chassis | |
JP4897927B2 (ja) | 複数のアダプタにわたり複数の仮想ipアドレスを同時にサポートしているホストにおけるフェイルオーバのための方法、システム、およびプログラム | |
JP2018523932A (ja) | 負荷バランシングコンピュータデバイス、システム、および方法 | |
EP2074791B1 (en) | Communication system | |
CN114640633B (zh) | 负载均衡器及其实现方法、负载均衡的方法、网关系统 | |
US10893019B2 (en) | Address management method and apparatus | |
JP7207827B2 (ja) | リソース取得方法および装置 | |
JP2000307657A (ja) | ホスト・クラスタのためのネットワーク・ディスパッチャを利用するデータ伝送システムにおけるルータ監視システム | |
US11153269B2 (en) | On-node DHCP implementation for virtual machines | |
JP2008225644A (ja) | ゲートウェイ装置、ゲートウェイ装置の負荷分散方法及びゲートウェイ装置の負荷分散プログラム | |
US10476746B2 (en) | Network management method, device, and system | |
CN112929264A (zh) | 业务流量传输方法、系统及网络设备 | |
CN107769973B (zh) | 一种报文转发方法及装置 | |
EP4184822A1 (en) | Method and apparatus for keeping user terminal alive | |
CN109731345B (zh) | 语音处理方法及装置、电子设备、存储介质 | |
CN113992685A (zh) | 一种服务控制器确定方法、系统及装置 | |
CN114553823A (zh) | 访问控制方法和电子设备 | |
CN108768798B (zh) | 一种设备接入方法及装置 | |
CN115150363B (zh) | Ip地址更新方法、网关设备、网关下挂设备和存储介质 | |
CN115834655B (zh) | 访问私网中的服务端的方法和装置 | |
CN118233370A (zh) | 转发路径的确定方法、装置、服务器及存储介质 | |
CN112187519A (zh) | 一种基于bgp协议实现策略控制的多活并发方法及装置 | |
CN119449809A (zh) | 终端业务处理系统、方法及设备 |
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 |