CN116055497A - 一种实现负载均衡lb多活超大集群的方法 - Google Patents
一种实现负载均衡lb多活超大集群的方法 Download PDFInfo
- Publication number
- CN116055497A CN116055497A CN202310060995.XA CN202310060995A CN116055497A CN 116055497 A CN116055497 A CN 116055497A CN 202310060995 A CN202310060995 A CN 202310060995A CN 116055497 A CN116055497 A CN 116055497A
- Authority
- CN
- China
- Prior art keywords
- cluster
- load balancing
- server
- processor
- virtual machine
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000000694 effects Effects 0.000 title claims abstract description 14
- 238000001514 detection method Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000009467 reduction Effects 0.000 claims description 3
- 230000003068 static effect Effects 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000005516 engineering process Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 235000014510 cooky Nutrition 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 108090000623 proteins and genes Proteins 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/22—Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
-
- 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/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
-
- 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/1034—Reaction to server failures by a load balancer
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种实现负载均衡LB多活超大集群的方法,包括以下步骤:S1、客户端向VIP发起请求;S2、步骤S1中的请求通过网络设备上形成的等价路由调度到某一台LB服务器;S3、步骤S2中的LB服务器再根据配置的调度策略向业务服务器发起请求;S4、步骤S3中的业务服务器响应LB;S5、LB再响应客户端。本发明有益效果:一种实现负载均衡LB多活超大集群的方法,提升资源利用率,主备LB同时工作,一起承担流量;无限横向扩展:支持多台LB,支持更大规模集群;平滑加载卸载:加载方式简单,且无需中断业务。
Description
技术领域
本发明属于云计算技术领域,尤其是涉及一种实现负载均衡LB多活超大集群的方法。
背景技术
随着互联网流量及数据高速增长,各类业务需要不断地提升服务能力。一方面可以优化单台服务器的配置,但硬件配置终有上限且费用高昂;另一方面,可以使用集群网络技术,使用多台低配的服务器同时提供服务,该技术凭着高可用性和高经济性已成为IT标配。而在集群的构建过程中,最重要的技术就是LB(Load Balance)负载均衡技术,LB最先接收到服务请求,再将请求根据转发策略分发到后台多个业务服务器。
目前LB技术根据被负载的业务所处OSI的层次,可以分为四层LB和七层LB,四层LB工作在传输层,LB根据请求的源IP、源端口、目的IP和目的端口进行区分,再结合轮询、加权等策略进行调度;七层LB工作在应用层,在区分IP和端口的基础上,还可以根据请求的Url、Cookie、Host等业务特征进行进一步调度。
另外,根据服务形态和部署方式分为可以分为硬件LB和软件LB,硬件LB一般用在传统IT模式的集群中,通过购买专有的硬件负载均衡设备,比如F5、A10等,并在专业的运维人员的帮助下进行部署;软件LB是在通用服务器上部署负载均衡软件,比如:LVS、Nginx、Haproxy等,由一般研发人员参照教程进行部署。
不管是硬件LB集群还是软件LB集群,目前都是由两个LB服务器组成,按主备方式部署,只有主SLB处理业务,备SLB资源闲置,虽说LB只负责转发报文、资源消耗小,且能通过提升LB硬件配置进行优化,但当业务流量大到一定程度时,会出现瓶颈和业务崩溃。
发明内容
有鉴于此,本发明旨在提出一种实现负载均衡LB多活超大集群的方法,基于软件LB的基础上,借鉴ECMP等价路由和VRRP虚拟路由技术,将主备LB集群按多台多活方式部署,工作的LB服务器从一台主变为多台,由此,集群容量理论上可以支持无限扩展,从而支持超大规模的集群。
为达到上述目的,本发明的技术方案是这样实现的:
一种实现负载均衡LB多活超大集群的方法,包括以下步骤:
S1、客户端向VIP发起请求;
S2、步骤S1中的请求通过网络设备上形成的等价路由调度到某一台LB服务器;
S3、步骤S2中的LB服务器再根据配置的调度策略向业务服务器发起请求;
S4、步骤S3中的业务服务器响应LB;
S5、LB再响应客户端。
进一步的,通过云原生平台部署多活LB集群方法如下:
A1、创建LB实例;
A2、进行VIP绑定,支持绑定多个;
A3、LB虚机启动检测模块和定时通知,以便当LB虚机异常时从集群中摘除;
A4、SDN控制器处理检测通知,与物理服务器上的Agent模块交互;
A5、Agent模块触发FRR发布路由:形成网络设备到物理服务器的等价路由;
A6、Agent模块配置静态路由:形成物理服务器到虚机的等价路由;
A7、DPVS虚机创建业务监听器,配置调度策略;
A8、客户端请求VIP访问业务。
进一步的,在步骤A1中,具体如下:
a)创建LB实例,生成uuid并命名:选择地域、可用区并预留IP段,用于LB集群内通信;
b)选择创建好的LB实例,创建LB虚机:
默认创建两个虚机,支持扩容缩容;
初始化DPDK,减少流量在用户态和内核态的切换。
进一步的,在步骤A2中,具体如下:
a)DPDK在业务端口配置增加VIP地址;
b)配置端口安全:仅允许目的IP为VIP和内网IP的数据包;
c)配置ARP代理:在所有逻辑交换机上配置;
d)SDN控制器配置检测流表:将新上线的LB虚机纳入集群管理。
进一步的,本方案公开了一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,所述处理器用于执行一种实现负载均衡LB多活超大集群的方法。
进一步的,本方案公开了一种服务器,包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行一种实现负载均衡LB多活超大集群的方法。
进一步的,本方案公开了一种计算机可读取存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现一种实现负载均衡LB多活超大集群的方法。
相对于现有技术,本发明所述的一种实现负载均衡LB多活超大集群的方法具有以下有益效果:
本发明所述的一种实现负载均衡LB多活超大集群的方法,提升资源利用率,主备LB同时工作,一起承担流量;无限横向扩展:支持多台LB,支持更大规模集群;平滑加载卸载:加载方式简单,且无需中断业务。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的主备LB业务流程图示意图;
图2为本发明实施例所述的多活LB业务流程图示意图;
图3为本发明实施例所述的云原生部署多活LB集群组网示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
为了实现超大规模集群,本发明通过云原生方式部署软件LB集群,实现包含集群管理、流量引入、健康检查、流量调度等环节。
一个LB集群由多台LB服务器(通用Linux服务器或云虚拟机)组成,通过一组VIP和VPORT对外提供一个服务,可支持服务数量不限;客户端请求VIP的流量被网络设备引到LB集群,再在多台LB服务器上都配置VIP并对外发布,在LB集群内形成ECMP等价路由,路由选择某一台配有VIP的LB服务器,服务器再根据客户配置的调度算法调度到某一台健康的业务服务器,获取响应后再原路返回给客户端。
当使用通用服务器部署LB时,在服务器配置并发布VIP,通过OSPF路由协议探测和维护VIP的等价路由,此方式比较简单,但是当前企业上云已是标配,企业很难会为LB采购部署硬件,而且OSPF路由收敛较慢,不太符合超大集群的需求。
而在云原生虚拟机场景中,LB虚拟机可能存在于多台不同的硬件通用服务器上,并且单台通用服务器上也可能存在多台LB虚机,通过SDN(Soft Defined Network)软件定义网络相关组件进行区分发布,形成了两级ECMP等价路由;同时,再部署实时检测模块对LB虚机进行探测,根据虚机状态和服务状态实时发布或撤销路由,实现异常场景下的业务快速切换。
另外,因为VIP的分布存在,所以需要在交换机上实现支持针对VIP的ARP代理功能,将VIP的请求都先调度到三层网络设备上。
参照图2多活LB集群,业务请求响应流程描述如下:
1.客户端向VIP发起请求;
2.请求通过网络设备上形成的等价路由调度到某一台LB服务器;
3.LB服务器再根据配置的调度策略向业务服务器发起请求;
4.业务服务器响应LB;
5.LB再响应客户端;
相比图1主备LB集群,主要区别在于等价路由的形成和集群的维护;
参照图3,如下描述了如何通过云原生平台部署多活LB集群(本文描述的云原生,Underlay网络基于IP网络构建Fabric,再通过Vxlan或Geneve技术,构建Overlay的SDN网络)
1.创建LB实例;
a)创建LB实例,生成uuid并命名
i.选择地域、可用区并预留IP段,用于LB集群内通信;
b)选择创建好的LB实例,创建LB虚机
i.默认创建两个虚机,支持扩容缩容;
ii.初始化DPDK,减少流量在用户态和内核态的切换;
2.VIP绑定,支持多个;
a)DPDK在业务端口配置增加VIP地址;
b)配置端口安全:仅允许目的IP为VIP和内网IP的数据包;
c)配置ARP代理:在所有逻辑交换机上配置;
d)SDN控制器配置检测流表:将新上线的LB虚机纳入集群管理;
3.LB虚机启动检测模块和定时通知,以便当LB虚机异常时从集群中摘除;
4.SDN控制器处理检测通知,与物理服务器上的Agent模块交互;
5.Agent模块触发FRR发布路由:形成网络设备到物理服务器的等价路由;
6.Agent模块配置静态路由:形成物理服务器到虚机的等价路由;
7.DPVS虚机创建业务监听器,配置调度策略;
8.客户端请求VIP访问业务。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种实现负载均衡LB多活超大集群的方法,其特征在于,包括以下步骤:
S1、客户端向VIP发起请求;
S2、步骤S1中的请求通过网络设备上形成的等价路由调度到某一台LB服务器;
S3、步骤S2中的LB服务器再根据配置的调度策略向业务服务器发起请求;
S4、步骤S3中的业务服务器响应LB;
S5、LB再响应客户端。
2.根据权利要求1所述的一种实现负载均衡LB多活超大集群的方法,其特征在于,通过云原生平台部署多活LB集群方法如下:
A1、创建LB实例;
A2、进行VIP绑定,支持绑定多个;
A3、LB虚机启动检测模块和定时通知,以便当LB虚机异常时从集群中摘除;
A4、SDN控制器处理检测通知,与物理服务器上的Agent模块交互;
A5、Agent模块触发FRR发布路由:形成网络设备到物理服务器的等价路由;
A6、Agent模块配置静态路由:形成物理服务器到虚机的等价路由;
A7、DPVS虚机创建业务监听器,配置调度策略;
A8、客户端请求VIP访问业务。
3.根据权利要求2所述的一种实现负载均衡LB多活超大集群的方法,其特征在于,在步骤A1中,具体如下:
a)创建LB实例,生成uuid并命名:选择地域、可用区并预留IP段,用于LB集群内通信;
b)选择创建好的LB实例,创建LB虚机:
默认创建两个虚机,支持扩容缩容;
初始化DPDK,减少流量在用户态和内核态的切换。
4.根据权利要求2所述的一种实现负载均衡LB多活超大集群的方法,其特征在于,在步骤A2中,具体如下:
a)DPDK在业务端口配置增加VIP地址;
b)配置端口安全:仅允许目的IP为VIP和内网IP的数据包;
c)配置ARP代理:在所有逻辑交换机上配置;
d)SDN控制器配置检测流表:将新上线的LB虚机纳入集群管理。
5.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-4任一所述的一种实现负载均衡LB多活超大集群的方法。
6.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-4任一所述的一种实现负载均衡LB多活超大集群的方法。
7.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-4任一项所述的一种实现负载均衡LB多活超大集群的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310060995.XA CN116055497A (zh) | 2023-01-18 | 2023-01-18 | 一种实现负载均衡lb多活超大集群的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310060995.XA CN116055497A (zh) | 2023-01-18 | 2023-01-18 | 一种实现负载均衡lb多活超大集群的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116055497A true CN116055497A (zh) | 2023-05-02 |
Family
ID=86116182
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310060995.XA Pending CN116055497A (zh) | 2023-01-18 | 2023-01-18 | 一种实现负载均衡lb多活超大集群的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116055497A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013071890A1 (zh) * | 2011-11-18 | 2013-05-23 | 运软网络科技(上海)有限公司 | 基于身份和会话的资源访问系统和方法 |
CN111638957A (zh) * | 2020-06-01 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种集群共享式公有云负载均衡的实现方法 |
CN111756830A (zh) * | 2020-06-22 | 2020-10-09 | 浪潮云信息技术股份公司 | 公有云网络的内网负载均衡实现方法 |
CN113556377A (zh) * | 2021-04-27 | 2021-10-26 | 中国船舶重工集团公司第七一六研究所 | 一种船舶外场涂装环境监测系统 |
WO2022037612A1 (zh) * | 2020-08-20 | 2022-02-24 | 第四范式(北京)技术有限公司 | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 |
CA3131098A1 (en) * | 2020-09-17 | 2022-03-17 | 10353744 Canada Ltd. | High-availability load balancing method and system and computer readable storage medium |
WO2022110444A1 (zh) * | 2020-11-30 | 2022-06-02 | 中国科学院深圳先进技术研究院 | 云原生资源动态预测方法、装置、计算机设备及存储介质 |
-
2023
- 2023-01-18 CN CN202310060995.XA patent/CN116055497A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013071890A1 (zh) * | 2011-11-18 | 2013-05-23 | 运软网络科技(上海)有限公司 | 基于身份和会话的资源访问系统和方法 |
CN111638957A (zh) * | 2020-06-01 | 2020-09-08 | 山东汇贸电子口岸有限公司 | 一种集群共享式公有云负载均衡的实现方法 |
CN111756830A (zh) * | 2020-06-22 | 2020-10-09 | 浪潮云信息技术股份公司 | 公有云网络的内网负载均衡实现方法 |
WO2022037612A1 (zh) * | 2020-08-20 | 2022-02-24 | 第四范式(北京)技术有限公司 | 提供应用构建服务的方法及应用构建平台、应用部署方法和系统 |
CA3131098A1 (en) * | 2020-09-17 | 2022-03-17 | 10353744 Canada Ltd. | High-availability load balancing method and system and computer readable storage medium |
WO2022110444A1 (zh) * | 2020-11-30 | 2022-06-02 | 中国科学院深圳先进技术研究院 | 云原生资源动态预测方法、装置、计算机设备及存储介质 |
CN113556377A (zh) * | 2021-04-27 | 2021-10-26 | 中国船舶重工集团公司第七一六研究所 | 一种船舶外场涂装环境监测系统 |
Non-Patent Citations (2)
Title |
---|
范媛媛;: "银行多活数据中心网络关键技术研究", 中国金融电脑, no. 03, 7 March 2017 (2017-03-07) * |
鲜伟;胡晓勤;: "基于OSPF等价路由的LVS集群负载均衡技术的研究", 网络安全技术与应用, no. 04, 15 April 2018 (2018-04-15) * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI724106B (zh) | 資料中心間的業務流量控制方法、裝置及系統 | |
US6330605B1 (en) | Proxy cache cluster | |
CN106464731B (zh) | 利用分层边缘服务器的负载平衡 | |
CN103795805B (zh) | 基于sdn的分布式服务器负载均衡方法 | |
JP5254547B2 (ja) | ウェブ・アプリケーション・ミドルウェアのための非集中型のアプリケーション配置方法、並びにそのシステム及びコンピュータ・プログラム | |
US7395335B2 (en) | Distributed load balancing for single entry-point systems | |
US8200789B2 (en) | Method, system and program product for automated topology formation in dynamic distributed environments | |
US8949410B2 (en) | Server load balancer scaling for virtual servers | |
CN104954182B (zh) | 一种用于配置虚拟服务器集群的方法和装置 | |
US20110040889A1 (en) | Managing client requests for data | |
US20080091806A1 (en) | Dynamic On-Demand Clustering | |
JP2018523932A (ja) | 負荷バランシングコンピュータデバイス、システム、および方法 | |
CN112187864B (zh) | 负载均衡方法、装置、存储介质及电子设备 | |
US9515955B2 (en) | Global server load balancing with queued messaging | |
CN102164116A (zh) | 均衡负载的方法、系统及相应设备 | |
CN102333027A (zh) | 基于vrrpe备份组的流量负载分担实现方法及其装置 | |
CN113014611B (zh) | 一种负载均衡方法及相关设备 | |
Paulos et al. | A framework for self-adaptive dispersal of computing services | |
CN102724104A (zh) | 自动配置Java EE应用集群的装置和方法 | |
CN113709220B (zh) | 虚拟负载均衡器的高可用实现方法、系统及电子设备 | |
Masoumi et al. | Dynamic online VNF placement with different protection schemes in a MEC environment | |
JP2006235837A (ja) | 負荷分散システム、負荷分散装置管理サーバ、負荷分散装置の切り替え方法及びプログラム | |
CN116055497A (zh) | 一种实现负载均衡lb多活超大集群的方法 | |
CN116192855A (zh) | 负载均衡方法、装置、电子设备及计算机可读存储介质 | |
CN114900526A (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 |