[发明专利]一种高效的负载均衡器及负载均衡系统在审
申请号: | 201710548144.4 | 申请日: | 2017-07-06 |
公开(公告)号: | CN107135278A | 公开(公告)日: | 2017-09-05 |
发明(设计)人: | 刘永刚;陈业英 | 申请(专利权)人: | 深圳市视维科技股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 深圳市深联知识产权代理事务所(普通合伙)44357 | 代理人: | 杨静 |
地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 高效 负载 均衡器 均衡 系统 | ||
技术领域
本发明涉及通信控制领域,尤其涉及一种高效的负载均衡器,还涉及一种包含所述负载均衡器的负载均衡系统。
背景技术
通常情况下的负载均衡要在灵活性和性能之间做权衡,用户态软件层面有 Haproxy 和 Nginx 这样的老牌负载均衡软件,他们一般配置和使用起来都比较容易,但是由于需要数据包从网卡到内核再到软件一层层向上处理,再一层层向下转发,堆栈比较深单机性能通常都比较一般。
为了提高单机性能,减少堆栈层级就有了LVS(Linux虚拟服务器),其实质上是工作在内核层的负载均衡器,性能有着数量级的提高,然而配置起来相对也比较复杂而且对网络条件要求也有特殊要求;另外网络数据到达LVS 之前还要经过完整的 TCP/IP 协议栈比如数据包要经过网卡的驱动层、链路层、IP层、TCP层、应用层等以及内核的一系列 filter 模块,而这些对于转发来说是非常冗繁并且没有必要的。
发明内容
为解决现有技术中的问题,本发明提供一种高效的负载均衡器,还提供一种包含所述负载均衡器的负载均衡系统。
本发明高效的负载均衡器设置在网卡上,所述负载均衡器输入输出端分别与网卡的输入和输出队列相连,所述负载均衡器设有接收解析模块、均衡模块和发送模块,所述解析模块用于接收网卡输入队列的数据包并解析数据包的转发信息,所述均衡模块用于对解析的数据包均衡分配到发送队列中;发送模块用于从发送队列中读取数据包,并把数据包通过网卡的输出队列均衡分发给后端服务器。
本发明作进一步改进,所述接收解析模块只解析数据包的前几个字节,提取出转发信息,所述转发信息包括源地址、源端口、目标地址、目标端口和协议号。
本发明作进一步改进,还包括检测模块,设置在接收解析模块和均衡模块之间,用于对进入均衡模块的数据包进行检测,如果数据包的检测结果为丢弃,则该数据包不进入均衡模块。
本发明作进一步改进,所述负载均衡器与网卡的内存共享,所述负载均衡器和网卡共享一个数据池空间,所述负载均衡器能够读取网卡的内存数据。
本发明作进一步改进,利用DPDK技术,支持UIO,提供应用空间下驱动程序的支持。
本发明作进一步改进,包括内存池,所述内存池采用无锁环形缓存管理。
本发明作进一步改进,所述负载均衡器设置在LINUX操作系统的服务器上时,把控制器面线程及各个数据面线程绑定到不同的CPU核。
本发明还提供一种包含所述负载均衡器的负载均衡系统,包括客户端、域名解析服务器、路由器、多个服务器,所述客户端分别与路由器和域名解析服务器相连,所述负载均衡系统设置在路由器和多个服务器之间。
本发明作进一步改进,当客户端发送请求包时,所述域名解析服务器根据请求的客户端的位置返回一个离请求的客户端地理位置最近的VIP地址;所述请求包到达VIP地址对应的路由器;路由器分别将多个请求包平均分配到与之连接的多个负载均衡器上;负载均衡器的均衡模块再将请求包均衡分发给与之连接的多个服务器。
本发明作进一步改进,所述负载均衡器在接收到请求包转发给服务器时,将请求包的源地址修改为用户请求时的地址,服务器响应时,将响应包的源地址改为用户的VIP地址,将响应包不通过负载均衡器直接发送给与客户端相连的路由器。
与现有技术相比,本发明的有益效果是:数据包只需要在进入网卡的驱动层被负载均衡器调用,不需要进入IP层、TCP层、应用层等进行完整的TCP/IP 协议栈的解析,并且本发明的数据包只需要分析前几个字节,极大提高了数据处理性能。能够对负载均衡器进行横向扩展和纵向扩展,有效加快处理网络数据包的速率。
附图说明
图1为本发明负载均衡器结构示意图;
图2为负载均衡器数据处理示意图;
图3为负载均衡器与网卡内存数据共享示意图;
图4为本发明负载均衡系统结构示意图。
具体实施方式
下面结合附图和实施例对本发明做进一步详细说明。
如图1所示,本发明提供一种高效的负载均衡器,所述负载均衡器设置在网卡上,所述负载均衡器输入输出端分别与网卡的输入和输出队列相连,所述负载均衡器设有接收解析模块、均衡模块和发送模块,所述解析模块用于接收网卡输入队列的数据包并解析数据包的转发信息,所述均衡模块用于对解析的数据包均衡分配到发送队列中;发送模块用于从发送队列中读取数据包,并把数据包通过网卡的输出队列均衡分发给后端服务器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市视维科技股份有限公司,未经深圳市视维科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710548144.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:自动推拉机构及带有该机构的物料输送装置
- 下一篇:自动化物料输送装置