负载均衡方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33204966 阅读:8 留言:0更新日期:2022-04-24 00:49
本申请提供了一种负载均衡方法、装置、电子设备及存储介质。其中方法包括:接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;将所述第一报文中的地址和端口进行转换后得到第二报文;将所述第二报文通过网卡转发到目标后端服务器。可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。其适用于高并发量的负载均衡服务。其适用于高并发量的负载均衡服务。

【技术实现步骤摘要】
负载均衡方法、装置、电子设备及存储介质


[0001]本申请涉及计算机领域,尤其涉及一种负载均衡方法、装置、电子装置及存储介质。

技术介绍

[0002]目前,负载均衡设备实现转发主要采用四种转发模式:DR(Direct routing,直接路由)模式、NAT(Network address translation,网络地址转换)模式、TUN(IP tunneling,IP隧道)模式、FULLNAT(FULL Network address translation,全网络地址转换)模式。FULLNAT模式在负载均衡服务中每个向后端服务器的链接都需要单独占用一个地址和端口的组合,导致负载均衡(load balancer,LB)服务的可负载量受到限制。

技术实现思路

[0003]本申请提供了一种负载均衡方法、装置、电子设备及系统,以增加负载均衡的可负载量。本申请的技术方案如下:
[0004]第一方面,本申请实施例提供了一种负载均衡方法,应用于负载均衡设备,该方法包括:
[0005]接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
[0006]基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;
[0007]将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
[0008]将所述第二报文通过网卡转发到目标后端服务器。
[0009]在某些实现方式中,所述接收用户端发送的第一报文,包括:
[0010]通过网卡接收所述用户端发送的第一报文,并通过接收端缩放RSS技术将所述第一报文分发到对应的中央处理器。
[0011]在某些实现方式中,所述基于多元组,确定目标后端服务器的第二目标地址和第二目标端口,包括:
[0012]基于预设哈希函数和所述多元组,计算哈希值;
[0013]根据所述哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。
[0014]在某些实现方式中,所述得到第二报文时,还包括:
[0015]在所述第二报文的第一字段存入所述用户端的第一源地址、第一源端口。
[0016]第二方面,本申请实施例提供了一种负载均衡装置,包括:
[0017]接收模块,用于接收用户端发送的第一报文,并将所述第一报文散列到数据队列中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;
[0018]地址获取模块,用于基于所述第一源地址、第一源端口、第一目标地址、第一目标端口、负载均衡端的虚拟地址和虚拟端口,进行哈希运算,获取目标后端服务器的第二目标地址和第二目标端口;
[0019]地址转换模块,用于将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;
[0020]转发模块,用于将所述第二报文通过网卡转发到目标后端服务器。
[0021]第三方面,本申请实施例提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面实施例所述的负载均衡方法。
[0022]第四方面,本申请实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面实施例所述的负载均衡方法。
[0023]第五方面,本申请实施例提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请第一方面实施例所述的负载均衡方法的步骤。
[0024]本申请实施例提供的技术方案至少带来以下有益效果:
[0025]可通过包括客户端地址和端口的多元组确定后端的目标服务器,可以实现同一个端口及IP组合上,可以建立多个后端服务器的链接,大大增加负载均衡的可负载量,尤其适用于高并发量的负载均衡服务。
[0026]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0027]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
[0028]图1是根据本申请一示例性实施例示出的一种负载均衡方法的流程图。
[0029]图2是根据本申请另一示例性实施例示出的一种负载均衡方法的流程图。
[0030]图3是根据一示例性实施例示出的一种负载均衡装置的框图。
[0031]图4是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
[0032]为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0033]需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便
这里描述的本申请实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0034]IP是Internet Protocol(网际互连协议)的缩写,是TCP/IP体系中的网络层协议。
[0035]cip(client IP),客户端IP。
[0036]cport(client port),客户端端口。
[0037]vip(virtual IP),域名对应的IP,虚拟IP。
[0038]vport(virtual port),客户端请求端口,虚拟端口。
[0039]lip(local IP),在负载均衡LB中分配的转换IP。
[0040]lp/lport(local port),在负载均衡LB中分配的转换端口。
[0041]rip(real IP),后端服务器所在IP,真实IP。
[0042]目前,负载均衡设备实现转发主要采用四种转发模式:DR(Direct routing,直接路由)模式、NAT(Network address translation,网络地址转换)模式、TUN(IP tunneling,IP隧道)模式、FULLNAT(FULL Network address trans本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种负载均衡方法,其特征在于,应用于负载均衡设备,所述方法包括:接收用户端发送的第一报文,其中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;基于多元组,确定目标后端服务器的第二目标地址和第二目标端口;其中,所述多元组包括第一源地址、第一源端口、第一目标地址、第一目标端口以及负载均衡端的虚拟地址和虚拟端口;将所述第一报文中的所述第一源地址和第一源端口分别变更为所述负载均衡端的地址和端口,将所述第一目标地址和第一目标端口分别变更为所述目标后端服务器的第二目标地址和第二目标端口,得到第二报文;将所述第二报文通过网卡转发到目标后端服务器。2.根据权利要求1所述的方法,其特征在于,所述接收用户端发送的第一报文,包括:通过网卡接收所述用户端发送的第一报文,并通过接收端缩放RSS技术将所述第一报文分发到对应的中央处理器。3.根据权利要求1所述的方法,其特征在于,所述基于多元组,确定目标后端服务器的第二目标地址和第二目标端口,包括:基于预设哈希函数和所述多元组,计算哈希值;根据所述哈希值,从后端服务器列表中确定目标后端服务器的第二目标地址和第二目标端口。4.根据权利要求1所述的方法,其特征在于,所述得到第二报文时,还包括:在所述第二报文的第一字段存入所述用户端的第一源地址、第一源端口。5.一种负载均衡装置,其特征在于,包括:接收模块,用于接收用户端发送的第一报文,并将所述第一报文散列到数据队列中,所述第一报文包括用户端的第一源地址和第一源端口、负载均衡端的第一目标地址和第一目标端口;地址获取模块,用于基于所述第一源地址、第一源端口、第一目标地址、第一目标端口、负载均衡端的虚拟地址和虚拟端口,...

【专利技术属性】
技术研发人员:李宏林
申请(专利权)人:京东科技信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1