一种软硬件结合的网络负载均衡实现系统及过程方法与流程

专利2022-06-29  95


本发明涉及一种云计算技术领域,特别是涉及一种软硬件结合的网络负载均衡实现系统及过程方法。



背景技术:

随着云计算技术的发展,云环境中云主机对高性能负载均衡器的需求也在不断上升。目前大部分云环境中使用基于haproxy、ngnix的负载均衡软件的方案,或者使用f5等硬件负载均衡方案。软件方案一般价格较低,但是性能和稳定性得不到保证,而硬件方案则能保证高性能和稳定性,但价格普遍比贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间。

因此,在现有技术中无论是软件方案还是硬件方案都无法很好地满足使用要求。



技术实现要素:

鉴于以上所述现有技术中存在的问题,本发明的目的在于提供一种无需大量适配开发工作,性能和稳定性能够得到保证,且价格适中的软硬件结合的网络负载均衡实现系统的装置;还提供了一种软硬件结合的网络负载均衡实现系统的过程方法。

为实现上述目的,本发明提供了一种软硬件结合的网络负载均衡实现系统,所述负载均衡节点包括负载均衡器,所述系统包括控制节点以及负载均衡节点,所述控制节点发送命令至负载均衡节点,所述负载均衡节点实现负载均衡器的运行和管理;所述网络负载均衡实现系统还包括智能网卡,所述智能网卡设置于负载均衡节点且支持负载均衡卸载。

进一步地,所述控制节点包括api服务器以及lb服务器。

优选地,所述api服务器提供rest接口以输入命令,所述命令包括创建、删除,更新等。

进一步地,所述lb服务器接收api服务器的命令,并转发给负载均衡节点。

进一步地,所述负载均衡节点还包括用户空间以及内核空间,且用户空间和内核空间彼此隔离。

优选地,所述用户空间包括支持负载均衡的卸载功能的负载均衡软件,还包括lb代理,所述lb代理响应lb服务器的命令对负载均衡器进行管理。

优选地,所述内核空间包括前端,策略以及后端,所述前端应用策略把外部的请求分发给后端。

本发明还提供了一种软硬件结合的网络负载均衡实现系统的过程方法,包括如下步骤:

s1.安装负载均衡软件和智能网卡,并启动所述智能网卡的负载均衡的卸载功能;

s2.命令须通过api服务器发送给lb服务器;

s3.所述lb服务器挑选负载均衡节点并调用其lb代理以启动负载均衡软件;

s4.所述负载均衡软件下发相关信息;

s5.系统检测所述智能网卡的负载均衡的卸载功能是否开启,若检测结果为“是”,则执行步骤s6,若检测结果为“否”,则执行步骤s7;

s6.所述相关信息下载至智能网卡;

s7.方法结束。

进一步地,所述命令为创建负载均衡器,所述负载均衡软件支持负载均衡的卸载功能。

优选地,所述相关信息包括前后端信息及前后端之间的转发策略。

本发明的优点和有益效果在于:

本发明提供了一种软硬件结合的网络负载均衡实现系统及过程方法,本发明采用负载均衡软件与智能网卡结合的方式,性能和稳定性能够得到保证,克服了现有技术中在仅使用负载均衡软件的情况下,系统的性能和稳定性得不到保证的问题;智能网卡的价格成本较低且只需少量的适配开发工作即能投入使用,克服了现有技术中使用f5等硬件的情况下,价格贵并且需要做大量适配开发,需要花费大量人力和时间的缺点;此外本发明还支持在云环境上的大规模部署。

附图说明

图1为本发明一种软硬件结合的网络负载均衡实现系统的系统框图;

图2为本发明一种软硬件结合的网络负载均衡实现系统的过程方法的流程图。

具体实施方式

以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效。

现有技术中通常通过两种方案实现网络负载均衡,一种方法为仅采用haproxy、ngnix的负载均衡软件的方案,但性能与稳定性得不到保证;另一种为采用f5等硬件的方案,硬件方案价格普遍比较贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间。因此现有技术中无论是软件方案还是硬件方案都无法很好地满足使用要求。

本发明提供一种软硬件结合的网络负载均衡实现系统,通过负载均衡软件与智能网卡结合的方式解决现有技术中存在的问题。

负载均衡实现系统主要包括控制节点以及负载均衡节点,控制节点主要作用在于为命令的下发创造条件,命令通过控制节点下发给负载均衡节点进而控制负载均衡节点,负载均衡节点的主要作用在于将前后端的相关信息以及策略和规则下载至智能网卡,智能网卡能够首先对外部的请求做出处理,无法处理的外部请求才会转发至内核空间进行处理。

如图1所示,控制节点主要包括api服务器和lb服务器。api服务器是指应用程序的接口,是一些预先定义的函数,或指软件系统不同组成部分衔接的约定。目的在于提供应用程序与开发人员基于一些工具得意访问一组例程的能力,而又无需访问原码,或理解内部工作机制的细节;lb服务器是指负载均衡服务器。

api服务器提供rest接口来操作负载均衡器,rest接口指的是的一种表述性状态传递,也是一种软件架构风格,rest模式相比于其他模式更加地简洁,在本发明中,操作包括创建,删除以及更新等命令;lb服务器是指接收api服务器的命令以在云环境上实现负载均衡器。

负载均衡节点主要包括用户程序的运行空间以及内核的应用空间,为了系统的安全性考虑,用户程序的运行空间以及内核的应用空间是彼此隔离的,即使用的应用程序出现问题,内核的应用空间也不会受到影响。

用户程序的运行空间主要包括lb代理以及负载均衡转件。lb代理是指负载均衡的代理,lb相应lb服务器对负载均衡节点上的负载均衡器进行管理;负载均衡软件主要包括haproxy,ngnix等软件,这些负载均衡软件能够支持负载平衡卸载功能,能够被lb代理调用。

智能网卡设于内核运行空间,内核中设有内核负载均衡数据通道,智能网卡中设有卸载负载均衡数据通道,内核中负载均衡数据通道中的数据能够下载到卸载负载均衡数据通道。具体为,内核负载均衡数据通道中含有负载均衡软件下发的前端的信息,后端的信息以及前端向后端的转发的策略和规则。

也就是说,控制节点与负载均衡控制节点相联接。控制节点包括api服务器以及lb服务器。负载均衡节点包括用户空间,内核空间以及智能网卡;用户空间包括lb代理以及负载均衡软件;智能网卡空间包括内核负载均衡数据通道,内核负载均衡数据通道内包含有负载均衡软件内下发的数据信息;智能网卡内包括卸载负载均衡数据通道,卸载负载均衡数据通道内包含有从内核负载均衡数据通道下载的数据信息。

本发明软硬件结合的网络负载均衡实现系统的创建流程顺序如下:

发出一个创建负载均衡的操作的命令,该命令通过api服务器提供的rest接口输入命令,lb服务器接收api服务器提供的命令,lb代理响应lb服务器并对本节点上的负载均衡软件进行管理,负载均衡软件被lb代理调用向内核空间的内核负载均衡数据通道下发数据信息,之后数据信息会下载到智能网卡的卸载负载均衡数据通道,数据信息为前端相关信息,后端相关信息以及策略。

除了创建的命令外,上述流程顺序同样适用于更新的命令以及删除的命令,仅需对相应的命令内容以及数据信息做出调整。

智能网卡的作用在于,其能够让网络数据包优先匹配网卡上卸载的负载均衡信息。如果网卡上的信息能完全匹配该数据包,数据包就能够直接在网卡上进行修改和转发,最后直接流出负载均衡节点,不再进入内核;如果智能网卡不能完全匹配数据包,数据包会进入内核网络协议栈,进入内核中的内核负载均衡数据通道,数据包在内核里完成匹配、修改以及转发,然后在进入智能网卡流出负载均衡节点。

通过智能网卡与负载均衡软件结合的方案就能够显著减少了负载均衡的网络数据的转发路径;智能网卡与负载均衡软件结合的方案与仅采用负载均衡软件的方案相比,前者的负载均衡器的吞吐量以及稳定性等网络性能都能够得到显著的提升,同时网络延时得到显著的减少;智能网卡与负载均衡软件结合的方案与采用f5等硬件的方案相比,前者与后者的性能几乎相当,且智能网卡的价格成本远低于f5等硬件,在适配方面,前者只需在现有成熟的负载均衡软件上添加卸载网卡的功能即可,适配开发的工作量较小,节省了大量的人力物力;另外,智能网卡与负载均衡软件结合的方案支持在云环境上的大规模部署。

本发明克服了现有技术中在仅使用负载均衡软件的情况下,系统的性能和稳定性得不到保证的问题;还克服了现有技术中使用f5等硬件的情况下,价格贵并且需要做大量适配开发,需要花费大量人力和时间的缺点。

本发明还提供了一种软硬件结合的网络负载均衡实现系统的过程方法。

首先需要启动智能网卡的负载均衡的卸载功能,智能网卡的负载均衡的卸载功能将数据包卸载至智能网卡,智能网卡自行处理数据包的匹配工作,只有在智能网卡无法自行处理数据包的匹配工作的情况下,才会将无法处理的数据包发送给内核空间中的负载均衡数据通道,数据包在内核里完成匹配、修改和转发,再次进入智能网卡流出负载均衡节点。

还需要lb代理根据操作的命令内容,启动负载均衡软件,负载均衡软件下发与操作的命令内容相关的数据信息。当操作命令为创建时,数据信息可以是前端信息,后端信息以及前端向后端发送信息时采用的策略和规则,当操作命令为更新或删除时,数据信息能够根据操作命令的改变而发生改变。

当系统检测到智能网卡的负载均衡卸载功能已经开启,数据信息会传送给智能网卡的钩子函数,进而下载到智能网卡,智能网卡根据下载的数据信息即能够对卸载的数据包进行处理和匹配。

本发明一种软硬件结合的网络负载均衡实现系统的过程方法,如图1所示,主要包括以下步骤:

步骤s1.在负载均衡节点上安装支持负载均衡卸载功能的负载均衡软件和智能网卡,负载均衡软件可以为市面上通常采用的haproxy或ngnix两种软件的其中一种,也可以是其他的一种具有负载均衡卸载功能的负载均衡软件,能够根据实际工作情况自行选用,以成本低,性能强,稳定性强,操作简单为优选,所有本方法中的的负载均衡卸载软件均已经做好相应的适配工作;

步骤s2.发出命令,api服务器提供rest接口来操作网络负载均衡实现系统,命令可以包括创建,更新以及删除,命令还起可包括其他,命令需要通过api服务器发送给lb服务器;

步骤s3.lb服务器接受命令挑选出一台负载均衡节点,并调用该负载均衡节点上的lb处理创建负载均衡器,相应的,还能够命令负载均衡器的更新以及负载均衡器的删除,除此之外够根据命令实现其他的功能;

步骤s4.lb处理软件接收到lb服务器的远程调用后,启动本节点的支持负载均衡卸载功能的负载均衡软件,如haproxy软件,haproxy软件向内核空间中的内核负载数据通道下发与创建的命令相关的数据信息,数据信息可以包括前端信息,后端信息以及策略,也可以包括其他的信息,除此之外haproxy软件也能够根据删除或者更新或者其他的类型的命令,发送包括有与创建命令相同或不同类型信息的数据信息以及不同的数据内容;

步骤s5.系统自行检测智能网卡的负载均衡功能是否开启,若检测结果为“是”,即已经开启智能网卡的负载均衡功能,智能网卡能够卸载数据包到智能网卡进行处理和匹配,则执行步骤s6,若检测结果为“否”,则执行步骤s7;

步骤s6.内核空间的内核负载均衡数据通道中的数据信息,如前端信息,后端信息以及策略,或根据删除或者更新或者其他的类型的命令,即包括有与创建命令相同或不同类型信息的数据信息以及不同的数据内容,传送给网卡的钩子函数,进而下载到智能网卡的内部;

步骤s7.方法结束。

需要提到的是,适配工作主要是指在负载均衡软件上进行改进,以支持网卡负载均衡卸载功能;该方法中主要以创建的命令为实施例,数据信息为前端信息,后端信息以及策略,如上述步骤中所述,命令也可以是删除、更新或其他,数据信息根据不同的命令类型包括相同或不同类型的信息和内容。

本发明的系统和方法皆在云环境下实现,本发明在适配过程中无需修改云管理软件,原因在于云管理软件的上层界面适用于本发明可以不用改变,能够实现无缝适配,适配工作主要体现在负载均衡软件上做的改进,使其支持网卡负载均衡卸载功能,总体上来说适配工作明显少于采用f5等硬件的方案,并且能够支持在云环境上的大规模部署。

除了上述本发明的有益效果外,智能网卡能够完成大多数处理和匹配工作,明显分担了内核空间的工作量,提高了性能,并保证了稳定性,另外智能网卡的成本远低于f5等硬件。

克服了现有技术中,仅采用负载均衡软件的方案性能和稳定性等不到保证的问题,以及仅采用f5等硬件的方案价格贵,而且通常需要做大量的适配开发,需要花费大量的人力和时间的问题。

本发明在克服了现有技术中存在的问题之外,还能够支持在云环境上的大规模部署。

本发明能够很好地满足用户的使用要求。

综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。

上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。


技术特征:

1.一种软硬件结合的网络负载均衡实现系统,所述系统包括控制节点以及负载均衡节点,所述控制节点发送命令至负载均衡节点,所述负载均衡节点包括负载均衡器,所述负载均衡节点实现负载均衡器的运行和管理;

其特征在于,所述网络负载均衡实现系统还包括智能网卡,所述智能网卡设置于负载均衡节点且支持负载均衡卸载。

2.根据权利要求1所述的软硬件结合的网络负载均衡实现系统,其特征在于,所述控制节点包括api服务器以及lb服务器。

3.根据权利要求2所述的软硬件结合的负载均衡实现系统,其特征在于,所述api服务器提供rest接口以输入命令,所述命令包括创建、删除,更新等。

4.根据权利要求2所述的软硬件结合的负载均衡实现系统,其特征在于,所述lb服务器接收api服务器的命令,并转发给负载均衡节点。

5.根据权利要求1所述的软硬件结合的负载均衡实现系统,其特征在于,所述负载均衡节点还包括用户空间以及内核空间,且用户空间和内核空间彼此隔离。

6.根据权利要求5所述的软硬件结合的负载均衡实现系统,其特征在于,所述用户空间包括支持负载均衡的卸载功能的负载均衡软件,还包括lb代理,所述lb代理响应lb服务器的命令对负载均衡器进行管理。

7.根据权利要求5所述的软硬件结合的负载均衡实现系统,其特征在于,所述内核空间包括前端,策略以及后端,所述前端应用策略把外部的请求分发给后端。

8.一种软硬件结合的网络负载均衡实现系统的过程方法,其特征在于包括如下步骤:

s1.安装负载均衡软件和智能网卡,并启动所述智能网卡的负载均衡的卸载功能;

s2.命令须通过api服务器发送给lb服务器;

s3.所述lb服务器挑选负载均衡节点并调用其lb代理以启动负载均衡软件;

s4.所述负载均衡软件下发相关信息;

s5.系统检测所述智能网卡的负载均衡的卸载功能是否开启,若检测结果为“是”,则执行步骤s6,若检测结果为“否”,则执行步骤s7;

s6.所述相关信息下载至智能网卡;

s7.方法结束。

9.根据权利要求8所述的软硬件结合的网络负载均衡实现系统的过程方法,其特征在于,所述命令为创建负载均衡器,所述负载均衡软件支持负载均衡的卸载功能。

10.根据权利要求9所述的软硬件结合的网络负载均衡实现系统的过程方法,其特征在于,所述相关信息包括前后端信息及前后端之间的转发策略。

技术总结
本发明提供了一种软硬件结合的网络负载均衡实现系统及过程方法,系统包括控制节点以及负载均衡节点,控制节点发送命令至负载均衡节点,负载均衡节点实现负载均衡器的运行和管理,网络负载均衡实现系统还包括智能网卡,智能网卡设置于负载均衡节点且支持负载均衡卸载;本发明还提供了一种软硬件结合的网络负载均衡实现系统的过程方法;本发明采用负载均衡软件与智能网卡结合的方式,性能和稳定性能够得到保证,克服了现有技术中在仅使用负载均衡软件的情况下,系统的性能和稳定性得不到保证的问题,智能网卡的价格成本较低且只需少量的适配开发工作即能投入使用,克服了现有技术中使用F5等硬件的情况下,价格贵并且需要做大量适配开发的缺点。

技术研发人员:黄茂峰
受保护的技术使用者:安超云软件有限公司
技术研发日:2020.01.14
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-18625.html

最新回复(0)