CN114390056A - 负载均衡方法、装置、电子设备及存储介质 - Google Patents
负载均衡方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114390056A CN114390056A CN202210028185.1A CN202210028185A CN114390056A CN 114390056 A CN114390056 A CN 114390056A CN 202210028185 A CN202210028185 A CN 202210028185A CN 114390056 A CN114390056 A CN 114390056A
- Authority
- CN
- China
- Prior art keywords
- address
- port
- target
- load balancing
- message
- 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
- 230000015654 memory Effects 0.000 claims description 19
- 238000013519 translation Methods 0.000 claims description 13
- 238000012545 processing Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 claims description 6
- 239000000126 substance Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种负载均衡方法、装置、电子设备及存储介质。其中方法包括:接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;将所述第一报文中的地址和端口进行转换后得到第二报文;将所述第二报文通过网卡转发到目标后端服务器。可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种负载均衡方法、装置、电子装置及存储介质。
背景技术
目前,负载均衡设备实现转发主要采用四种转发模式:DR(Direct routing,直接路由)模式、NAT(Network address translation,网络地址转换)模式、TUN(IP tunneling,IP隧道)模式、FULLNAT(FULL Network address translation,全网络地址转换)模式。FULLNAT模式在负载均衡服务中每个向后端服务器的链接都需要单独占用一个地址和端口的组合,导致负载均衡(load balancer,LB)服务的可负载量受到限制。
发明内容
本申请提供了一种负载均衡方法、装置、电子设备及系统,以增加负载均衡的可负载量。本申请的技术方案如下:
第一方面,本申请实施例提供了一种负载均衡方法,应用于负载均衡设备,该方法包括:
接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;
将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
将所述第二报文通过网卡转发到目标后端服务器。
在某些实现方式中,所述接收用户端发送的第一报文,包括:
通过网卡接收所述用户端发送的第一报文,并通过接收端缩放RSS技术将所述第一报文分发到对应的中央处理器。
在某些实现方式中,所述基于多元组,确定目标后端服务器的第二目标地址和第二目标端口,包括:
基于预设哈希函数和所述多元组,计算哈希值;
根据所述哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
在某些实现方式中,所述得到第二报文时,还包括:
在所述第二报文的第一字段存入所述用户端的第一源地址、第一源端口。
第二方面,本申请实施例提供了一种负载均衡装置,包括:
接收模块,用于接收用户端发送的第一报文,并将所述第一报文散列到数据队列中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
地址获取模块,用于基于所述第一源地址、第一源端口、第一目标地址、第一目标端口、负载均衡端的虚拟地址和虚拟端口,进行哈希运算,获取目标后端服务器的第二目标地址和第二目标端口;
地址转换模块,用于将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
转发模块,用于将所述第二报文通过网卡转发到目标后端服务器。
第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例所述的负载均衡方法。
第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面实施例所述的负载均衡方法。
第五方面,本申请实施例提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请第一方面实施例所述的负载均衡方法的步骤。
本申请实施例提供的技术方案至少带来以下有益效果:
可通过包括客户端地址和端口的多元组确定后端的目标服务器,可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是根据本申请一示例性实施例示出的一种负载均衡方法的流程图。
图2是根据本申请另一示例性实施例示出的一种负载均衡方法的流程图。
图3是根据一示例性实施例示出的一种负载均衡装置的框图。
图4是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。
cip(client IP),客户端IP。
cport(client port),客户端端口。
vip(virtual IP),域名对应的IP,虚拟IP。
vport(virtual port),客户端请求端口,虚拟端口。
lip(local IP),在负载均衡LB中分配的转换IP。
lp/lport(local port),在负载均衡LB中分配的转换端口。
rip(real IP),后端服务器所在IP,真实IP。
目前,负载均衡设备实现转发主要采用四种转发模式:DR(Direct routing,直接路由)模式、NAT(Network address translation,网络地址转换)模式、TUN(IP tunneling,IP隧道)模式、FULLNAT(FULL Network address translation,全网络地址转换)模式。FULLNAT模式在负载均衡服务中每个向后端服务器的链接都需要单独占用一个地址:端口的组合,导致负载均衡(load balancer,LB)服务的可负载量受到限制。
负载均衡的CPU(central processing unit,中央处理器)核处理的时候,根据负载均衡端的IP和端口,获取到某个后端服务器的IP和端口,而每个CPU核只对应一个负载均衡端的IP,端口只有65535个,这样负载6万多的后端服务器IP,对于体量大的负载均衡需求,只有通过增加负载均衡服务器和增加负载均衡服务器端(local IP)才能解决负载均衡大量后端的需求。
为了克服上述问题,现有方案是通过增加ip地址的方式来动态提高负载均衡服务的可负载量。这种技术带来的问题是IP资源的浪费,一个IP资源最多可用65535个端口,增加一个IP地址,就增加约6万个可用链接;100个IP就对应约600万个链接,对于高并发量的负载均衡服务,需要增加的IP数量几乎是不能接受的。因此,在负载量规模小的时候,采用增加本地IP地址的方式可以缓解负载均衡可负载量的问题,但是,由于会浪费IP资源,高并发的大规模场景下不适合使用。
为了解决上述问题,尤其针对高并发的大规模场景下的负载均衡服务,本申请实施例提出了一种负载均衡方法、装置、电子设备及存储介质。
图1是根据本申请一个实施例的负载均衡方法的流程图。需要说明的是,本申请实施例的负载均衡方法可应用于本申请实施例的负载均衡装置。该负载均衡装置可被配置于电子设备上。如图1所示,该负载均衡方法可以包括步骤S101-步骤S104。
在步骤S101中,接收用户端发送的第一报文,其中,第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口。
客户端发送TCP(Transmission Control Protocol,传输控制协议)报文,连接负载均衡服务器,TCP报文中携带client ip和client port(源地址和端口),lip和lport(负载均衡端的IP和端口)。
在本申请实施例中,负载均衡设备采用FULLNAT模式,负载均衡设备设置有至少两块网卡。通过两块网卡配置不同的IP地址,通过一个IP地址与内部网络通过交换设备相互连接,另一个为外网IP,用于与外部网络联通。
当用户端发送请求报文到负载均衡设备时,负载均衡设备通过设置外网IP的网卡接收该请求报文。
通过网卡对接收的第一报文进行解析,通过报文解析,获取第一报文中的用户端的第一源地址和第一源端口。
在步骤S102中,基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口。
将用户端的第一源地址和第一源端口,与第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口等构成多元组,再通过该多元组通过一定的算法确定目标后端服务器的第二目标地址和第二目标端口。
在本申请实施例中,通过增加客户端的IP地址和端口的多元组,确定目标后端服务器,因为客户端的IP地址可以有很多种,因此,实现负载均衡设备的挂载的后端服务器的数量大大增加。
在步骤S103中,将第一报文中的第一源地址和第一源端口分别变更为负载均衡端的地址和端口,将第一目标地址和第一目标端口分别变更为目标后端服务器的第二目标地址和第二目标端口,得到第二报文。
FULLNAT模式的主要思想是引入local address(内网IP地址),cip转换为vip,转换lip为rip,而lip和rip均为IDC(Internet Data Center,互联网数据中心)内网IP,可以跨VLAN(Virtual Local Area Network,虚拟局域网)通讯。
因此,得到目标后端服务器的IP地址和端口后,对用户发送过来的第一报文中的IP地址进行地址转换。
在步骤S104中,将第二报文通过网卡转发到目标后端服务器。
将地址转换后得到的第二报文通过网卡转发到后端的目标后端服务器。
确定目标后端服务器的第二目标地址和第二目标端口后,生成对应该第二目标地址的后端服务器的链接socketID,根据该链接socketID,将第二报文通过网卡转发到目标后端服务器。
目标后端服务器接收到第二报文后,通过该目标后端服务器上安装的TOA模块,业务调用内核方法,获取到用户端的IP地址和端口,目标后端服务器再返回报文的时候,源IP和端口是目标后端服务器的IP和端口,目标地址是local ip和负载均衡服务器port(即local port)。
负载均衡设备再接收到目标后端服务器返回的第三报文后,同样,将第三报文中的目标地址转换为客户端的地址,将源地址转换为负载均衡端的地址,通过地址转换后得到第四报文,再将第四报文转发给客户端,完成整个的数据交换过程。
本申请实施例的负载均衡方法,通过包括客户端地址和端口的多元组确定后端的目标服务器,可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
图2是根据本申请另一个实施例的负载均衡方法的流程图。如图2所示,该负载均衡方法可以包括步骤S201-步骤S205。
在步骤S201中,接收用户端发送的第一报文,其中,第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口。
可选的,通过网卡接收用户端发送的第一报文,并通过RSS(Receive SideScaling,接收端缩放)技术将第一报文分发到对应的CPU核。
NIC网卡接收到第一报文后,被RSS服务散列到通过哈希算法确定的某个队列上,这时这个第一报文由该队列对应的中央处理器CPU核处理。
接收方缩放RSS是一种网络驱动程序技术,可在多处理器系统中的多个CPU之间有效分配网络接收处理。也称为多队列接收,它在多个基于硬件的接收队列之间分配网络接收处理,从而允许多个CPU处理入站网络流量。RSS可用于缓解单个CPU过载导致的接收中断处理瓶颈,并减少网络延迟。
在步骤S202中,基于预设哈希函数和多元组,计算哈希值;其中,多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;
该多元组第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口分别对应Cip、cport、lip、lport、rip、rport。
在步骤S203中,根据哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
CPU核处理的时候,通过client ip和client port,local ip和local port,virtual ip和virtual port,哈希hash到目标后端服务器的IP地址和端口,因为用户端地址(即client ip)的多样性,决定负载均衡设备负载的后端服务器的数量的指数级别的提高,从而实现提高负载均衡能力。
在步骤S204中,将第一报文中的第一源地址和第一源端口分别变更为负载均衡端的地址和端口,将第一目标地址和第一目标端口分别变更为目标后端服务器的第二目标地址和第二目标端口;并将第一报文中的第一字段存入客户端的地址和端口,得到第二报文。
可选的,本申请实施例的负载均衡设备设置有TOA(tcp option address,tcp选项地址)模块,通过TOA模块在第二报文的第一字段(option字段)存入用户端的第一源地址、第一源端口。对于TCP报文来说,将用户端的第一源地址、第一源端口放入四层报文的option字段中。
这样,报文转发到后端服务器(装有TOA模块)后,应用程序正常调用getpeername系统函数,可以获取链接的源端的IP地址,即用户端的IP地址。
在步骤S205中,将第二报文通过网卡转发到目标后端服务器。
需要说明的是,在本申请的实施例中,上述步骤S205的实现过程可参见上述步骤S104的实现过程的描述,在此不再赘述。
本申请实施例的负载均衡方法,通过包括客户端地址和端口的多元组哈希确定后端的目标服务器,可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
对应上述实施例提供的负载均衡方法,图3是根据一示例性实施例示出的一种负载均衡装置的框图。参照图3,该负载均衡装置可以包括:接收模块301、地址获取模块302、地址转换模块302和转发模块304。
具体地,接收模块301,用于接收用户端发送的第一报文,并将第一报文散列到数据队列中,第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
地址获取模块302,用于基于该第一源地址、第一源端口、第一目标地址、第一目标端口、负载均衡端的虚拟地址和虚拟端口,进行哈希运算,获取目标后端服务器的第二目标地址和第二目标端口;
地址转换模块302,用于将第一报文中的第一源地址和第一源端口分别变更为负载均衡端的地址和端口,将第一目标地址和第一目标端口分别变更为目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
转发模块304,用于将第二报文通过网卡转发到目标后端服务器。
在本申请的一些实施例中,接收模块301在接收用户端发送的第一报文时,用于:
通过网卡接收用户端发送的第一报文,并通过RSS技术将第一报文分发到对应的中央处理器。
在本申请的一些实施例中,地址获取模块302在基于多元组,确定目标后端服务器的第二目标地址和第二目标端口时,用于:
基于预设哈希函数和多元组,计算哈希值;
根据哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
在本申请的一些实施例中,地址转换模块302,还用于:
通过TOA模块在第二报文的option字段存入用户端的第一源地址、第一源端口。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本申请实施例的负载均衡装置,通过包括客户端地址和端口的多元组确定后端的目标服务器,可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图4所示,是根据本申请实施例的用于实现负载均衡的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,该电子设备包括:一个或多个处理器401、存储器402,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图4中以一个处理器401为例。
存储器402即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的负载均衡的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的负载均衡的方法。
存储器402作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的负载均衡的方法对应的程序指令/模块(例如,附图3所示的接收模块301、地址获取模块302、地址转换模块302和转发模块304)。处理器401通过运行存储在存储器402中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功
存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据负载均衡的电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至负载均衡的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
负载均衡的方法的电子设备还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图4中以通过总线连接为例。
输入装置403可接收输入的数字或字符信息,以及产生与负载均衡的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,发光二极管LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述方法。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
Claims (11)
1.一种负载均衡方法,其特征在于,应用于负载均衡设备,所述方法包括:
接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;
将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
将所述第二报文通过网卡转发到目标后端服务器。
2.根据权利要求1所述的方法,其特征在于,所述接收用户端发送的第一报文,包括:
通过网卡接收所述用户端发送的第一报文,并通过接收端缩放RSS技术将所述第一报文分发到对应的中央处理器。
3.根据权利要求1所述的方法,其特征在于,所述基于多元组,确定目标后端服务器的第二目标地址和第二目标端口,包括:
基于预设哈希函数和所述多元组,计算哈希值;
根据所述哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
4.根据权利要求1所述的方法,其特征在于,所述得到第二报文时,还包括:
在所述第二报文的第一字段存入所述用户端的第一源地址、第一源端口。
5.一种负载均衡装置,其特征在于,包括:
接收模块,用于接收用户端发送的第一报文,并将所述第一报文散列到数据队列中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
地址获取模块,用于基于所述第一源地址、第一源端口、第一目标地址、第一目标端口、负载均衡端的虚拟地址和虚拟端口,进行哈希运算,获取目标后端服务器的第二目标地址和第二目标端口;
地址转换模块,用于将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
转发模块,用于将所述第二报文通过网卡转发到目标后端服务器。
6.根据权利要求1所述的装置,其特征在于,所述接收模块在接收用户端发送的第一报文时,用于:
通过网卡接收所述用户端发送的第一报文,并通过RSS技术将所述第一报文分发到对应的中央处理器。
7.根据权利要求1所述的装置,其特征在于,所述地址获取模块在基于多元组,确定目标后端服务器的第二目标地址和第二目标端口时,用于:
基于预设哈希函数和所述多元组,计算哈希值;
根据所述哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
8.根据权利要求1所述的装置,其特征在于,所述地址转换模块,还用于:
在所述第二报文的第一字段存入所述用户端的第一源地址、第一源端口。
9.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至4中任一项所述的负载均衡方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1至4中任一项所述的负载均衡方法。
11.一种计算机程序产品,包括计算机程序/指令,其特征在于,该计算机程序/指令被处理器执行时实现权利要求1至4任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028185.1A CN114390056B (zh) | 2022-01-11 | 2022-01-11 | 负载均衡方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210028185.1A CN114390056B (zh) | 2022-01-11 | 2022-01-11 | 负载均衡方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114390056A true CN114390056A (zh) | 2022-04-22 |
CN114390056B CN114390056B (zh) | 2024-05-17 |
Family
ID=81202766
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210028185.1A Active CN114390056B (zh) | 2022-01-11 | 2022-01-11 | 负载均衡方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114390056B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037551A (zh) * | 2022-06-29 | 2022-09-09 | 北京奇艺世纪科技有限公司 | 连接权限控制方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166870A (zh) * | 2011-12-13 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 负载均衡集群系统及采用其提供服务的方法 |
CN107070983A (zh) * | 2017-01-23 | 2017-08-18 | 天地融科技股份有限公司 | 一种基于地址转发的负载均衡方法、设备和系统 |
CN107493239A (zh) * | 2016-06-12 | 2017-12-19 | 中兴通讯股份有限公司 | Udp报文转发方法、设备和系统 |
CN107846364A (zh) * | 2016-09-19 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种报文的处理方法和装置 |
US20180109456A1 (en) * | 2015-09-25 | 2018-04-19 | Wangsu Science & Technology Co.,Ltd. | System, method, and device for network load balance processing |
CN111008075A (zh) * | 2019-12-05 | 2020-04-14 | 安超云软件有限公司 | 一种负载均衡系统、方法、装置、设备及介质 |
CN111193773A (zh) * | 2019-12-06 | 2020-05-22 | 腾讯云计算(北京)有限责任公司 | 负载均衡方法、装置、设备及存储介质 |
CN112839081A (zh) * | 2020-12-31 | 2021-05-25 | 深圳市赛宇景观设计工程有限公司 | 一种云集群的负载均衡方法 |
-
2022
- 2022-01-11 CN CN202210028185.1A patent/CN114390056B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103166870A (zh) * | 2011-12-13 | 2013-06-19 | 百度在线网络技术(北京)有限公司 | 负载均衡集群系统及采用其提供服务的方法 |
US20180109456A1 (en) * | 2015-09-25 | 2018-04-19 | Wangsu Science & Technology Co.,Ltd. | System, method, and device for network load balance processing |
CN107493239A (zh) * | 2016-06-12 | 2017-12-19 | 中兴通讯股份有限公司 | Udp报文转发方法、设备和系统 |
CN107846364A (zh) * | 2016-09-19 | 2018-03-27 | 阿里巴巴集团控股有限公司 | 一种报文的处理方法和装置 |
CN107070983A (zh) * | 2017-01-23 | 2017-08-18 | 天地融科技股份有限公司 | 一种基于地址转发的负载均衡方法、设备和系统 |
CN111008075A (zh) * | 2019-12-05 | 2020-04-14 | 安超云软件有限公司 | 一种负载均衡系统、方法、装置、设备及介质 |
CN111193773A (zh) * | 2019-12-06 | 2020-05-22 | 腾讯云计算(北京)有限责任公司 | 负载均衡方法、装置、设备及存储介质 |
CN112839081A (zh) * | 2020-12-31 | 2021-05-25 | 深圳市赛宇景观设计工程有限公司 | 一种云集群的负载均衡方法 |
Non-Patent Citations (2)
Title |
---|
张靖;: "基于LVS的服务器负载均衡应用研究", 西昌学院学报(自然科学版), no. 04, 30 December 2006 (2006-12-30) * |
陈超;: "利用LVS中的IP负载均衡技术建立可伸缩性网络服务", 四川理工学院学报(自然科学版), no. 04, 25 December 2006 (2006-12-25) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037551A (zh) * | 2022-06-29 | 2022-09-09 | 北京奇艺世纪科技有限公司 | 连接权限控制方法、装置、电子设备及存储介质 |
CN115037551B (zh) * | 2022-06-29 | 2024-04-26 | 北京奇艺世纪科技有限公司 | 连接权限控制方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114390056B (zh) | 2024-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11283718B2 (en) | Hybrid network processing load distribution in computing systems | |
US11601378B2 (en) | Method and apparatus for allocating server resource, electronic device and storage medium | |
US12015563B2 (en) | Management of resource affinities in computing systems having multiple cores | |
CN112988499B (zh) | 数据处理方法、装置、电子设备和存储介质 | |
CN113141386A (zh) | 私有网络中Kubernetes集群的接入方法、装置、设备和介质 | |
CN111586128A (zh) | 小程序数据的获取方法、装置、设备以及存储介质 | |
US7539987B1 (en) | Exporting unique operating system features to other partitions in a partitioned environment | |
US10715424B2 (en) | Network traffic management with queues affinitized to one or more cores | |
US8458702B1 (en) | Method for implementing user space up-calls on java virtual machine before/after garbage collection | |
Xu et al. | A modified round-robin load-balancing algorithm for cluster-based web servers | |
CN111866092B (zh) | 消息传输的方法、装置、电子设备和可读存储介质 | |
CN114390056B (zh) | 负载均衡方法、装置、电子设备及存储介质 | |
US11102139B1 (en) | Shared queue management utilizing shuffle sharding | |
CN111290744B (zh) | 流式计算作业处理方法、流式计算系统及电子设备 | |
Seyedroudbari et al. | Turbo: Smartnic-enabled dynamic load balancing of µs-scale rpcs | |
CN111711675B (zh) | 一种针对局域网内并发消息传递的解决方法 | |
Perino et al. | A programmable data plane for heterogeneous NFV platforms | |
CN114640679B (zh) | 数据包传输方法及装置、存储介质、电子设备 | |
CN111416860B (zh) | 基于区块链的事务处理方法、装置、电子设备和介质 | |
CN114546600A (zh) | 一种数据处理装置、方法和电子设备 | |
CN108696598B (zh) | 一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置 | |
CN114661409A (zh) | 处理数据分组以进行逻辑和虚拟交换机加速的方法和设备 | |
CN111092876A (zh) | 多主机系统、用于多主机系统的信息处理方法及装置 | |
CN113098919B (zh) | 一种节点间连通方法、装置、电子设备和存储介质 | |
CN111953804B (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 |