一种负载均衡方法及相关装置制造方法及图纸

技术编号:28300700 阅读:21 留言:0更新日期:2021-04-30 16:28
本申请公开了一种负载均衡方法,包括:负载均衡服务器控制多个网卡队列接收通过ECMP协议分发的流量数据;采用与每个网卡队列绑定的CPU对流量数据进行解封处理,得到待转发数据;通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将待转发数据进行封装转发。通过绑定的CPU对接收到的流量数据进行解封处理,进一步通过Nginx的负载均衡功能采用轻量级IP协议栈将数据进行封装转发,而不是采用Linux内核的网络协议栈进行处理,提高了负载均衡的处理能力,进一步提高了负载均衡的性能。本申请还公开了一种负载均衡装置、服务器以及计算机可读存储介质,具有以上有益效果。

【技术实现步骤摘要】
一种负载均衡方法及相关装置
本申请涉及计算机
,特别涉及一种负载均衡方法、负载均衡装置、服务器以及计算机可读存储介质。
技术介绍
目前为了保持入口流量的稳定运行,一般采用四层负载均衡。四层负载均衡工作在OSI(OpenSystemInterconnectionReferenceModel,开放式系统互联通信参考模型)模型的传输层,由于在传输层,只有TCP(TransmissionControlProtocol,传输控制协议)/UDP(UserDatagramProtocol,用户数据报协议)协议,这两种协议中除了包含源IP(InternetProtocol,网际互连协议)、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接收到客户端请求后,通过修改数据包的地址信息将流量转发到应用服务器。相关技术中,一般软负载均衡方案是基于Linux内核的网络协议栈,但是随着网卡速率的不断提升,Linux内核的处理能力降低了网络交换的效率,进一步的降低了实现的软负载均衡的效率,也降低了负载均衡性能。因此,如何提高负载均衡的性能是本领域技术人员关注的重点问题。
技术实现思路
本申请的目的是提供一种负载均衡方法、负载均衡装置、服务器以及计算机可读存储介质,通过绑定的CPU对接收到的流量数据进行解封处理,进一步通过Nginx的负载均衡功能采用轻量级IP协议栈将数据进行封装转发,而不是采用Linux内核的网络协议栈进行处理,提高了负载均衡的处理能力,进一步提高了负载均衡的性能。为解决上述技术问题,本申请提供一种负载均衡方法,包括:负载均衡服务器控制多个网卡队列接收通过ECMP协议分发的流量数据;采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据;通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发。可选的,采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据,包括:根据DPDK库确定每个网卡队列绑定的CPU;每个网卡队列将流量数据发送至对应的CPU中,控制所述CPU对接收到的流量数据进行解封处理,得到待转发数据。可选的,通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发,包括:通过配置的所述Nginx的负载均衡功能对所述待换发数据确定对应的转发地址;采用所述轻量级IP协议栈将所述待转发数据进行封装,并根据对应的转发地址进行发送。可选的,在所述将所述待转发数据进行封装转发的步骤之前,还包括:将移植的FreeBSD用户空间协议栈进行配置,得到所述轻量级IP协议栈。可选的,还包括:交换机根据所述ECMP协议将接收到的原始流量数据分流发送至所述多个网卡队列。可选的,还包括:所述负载均衡服务器的控制平面CPU通过无锁队列与所述多个网卡队列对应的CPU进行通信。本申请还提供一种负载均衡装置,包括:流量数据接收模块,用于控制多个网卡队列接收通过ECMP协议分发的流量数据;解封处理模块,用于采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据;封装转发模块,用于通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发。可选的,还包括:协议栈获取模块,用于将移植的FreeBSD用户空间协议栈进行配置,得到所述轻量级IP协议栈。可选的,还包括:交换机,用于根据所述ECMP协议将接收到的原始流量数据分流发送至所述多个网卡队列。可选的,还包括:控制平面CPU,用于通过无锁队列与所述多个网卡队列对应的CPU进行通信。本申请还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的负载均衡方法的步骤。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的负载均衡方法的步骤。本申请所提供的一种负载均衡方法,包括:负载均衡服务器控制多个网卡队列接收通过ECMP协议分发的流量数据;采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据;通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发。通过绑定的CPU对接收到的流量数据进行解封处理,进一步通过Nginx的负载均衡功能采用轻量级IP协议栈将数据进行封装转发,而不是采用Linux内核的网络协议栈进行处理,提高了负载均衡的处理能力,进一步采用绑定的CPU进行处理,避免了锁处理降低数据处理的等待时间,提高了负载均衡的性能。本申请还提供一种负载均衡装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种负载均衡方法的流程图;图2为本申请实施例所提供一种负载均衡装置的结构示意图;图3为本申请实施例所提供的负载均衡方法的结构示意图。具体实施方式本申请的核心是提供一种负载均衡方法、负载均衡装置、服务器以及计算机可读存储介质,通过绑定的CPU对接收到的流量数据进行解封处理,进一步通过Nginx的负载均衡功能采用轻量级IP协议栈将数据进行封装转发,而不是采用Linux内核的网络协议栈进行处理,提高了负载均衡的处理能力,进一步提高了负载均衡的性能。为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。相关技术中,一般软负载均衡方案是基于Linux内核的网络协议栈,但是随着网卡速率的不断提升,Linux内核的处理能力降低了网络交换的效率,进一步的降低了实现的软负载均衡的效率,降低了负载均衡性能。因此,本申请提供一种负载均衡方法,通过绑定的CPU对接收到的流量数据进行解封处理,进一步通过Nginx的负载均衡功能采用轻量级IP协议栈将数据进行封装转发,而不是采用Linux内核的网络协议栈进行处理,提高了负载均衡的处理能力,进一步采用绑定的CPU进行处理,避免了锁处理降低数据处理的等待时间,提高了负载均衡的性能。以下通过一个实施例,对本申请提供的一种负载均衡方法进行说明。请参考图1,图1为本申请实施例所提供的一种负载均本文档来自技高网...

【技术保护点】
1.一种负载均衡方法,其特征在于,包括:/n负载均衡服务器控制多个网卡队列接收通过ECMP协议分发的流量数据;/n采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据;/n通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发。/n

【技术特征摘要】
1.一种负载均衡方法,其特征在于,包括:
负载均衡服务器控制多个网卡队列接收通过ECMP协议分发的流量数据;
采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据;
通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发。


2.根据权利要求1所述的负载均衡方法,其特征在于,采用与每个网卡队列绑定的CPU对所述流量数据进行解封处理,得到待转发数据,包括:
根据DPDK库确定每个网卡队列绑定的CPU;
每个网卡队列将流量数据发送至对应的CPU中,控制所述CPU对接收到的流量数据进行解封处理,得到待转发数据。


3.根据权利要求1所述的负载均衡方法,其特征在于,通过配置的Nginx的负载均衡功能采用轻量级IP协议栈将所述待转发数据进行封装转发,包括:
通过配置的所述Nginx的负载均衡功能对所述待换发数据确定对应的转发地址;
采用所述轻量级IP协议栈将所述待转发数据进行封装,并根据对应的转发地址进行发送。


4.根据权利要求1所述的负载均衡方法,其特征在于,在所述将所述待转发数据进行封装转发的步骤之前,还包括:
将移植的FreeBSD用户空间协议栈进行配置,得到所述轻量级IP协议栈。


5.根据权利要求1所述的负载...

【专利技术属性】
技术研发人员:孙希发
申请(专利权)人:北京浪潮数据技术有限公司
类型:发明
国别省市:北京;11

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

1