DPVS高性能第4层负载均衡器

联合创作 · 2023-10-01 07:51

DPVS架构图



介绍


DPVS是爱奇艺公司基于DPDK开发的高性能第4层负载均衡器。基于阿里巴巴/ LVS修改而来,出于蓝而胜于蓝。



DPVS全称为 "DPDK-LVS".



为了达到高性能,使用了多种不同技术



  • 内核旁路(用户空间实现)


  • per-CPU,关键数据无锁化


  • RS Steering和CPU绑定(避免上下文切换)


  • 批处理TX / RX


  • 零拷贝(避免数据包复制和系统调用)


  • 轮询替换中断


  • 高性能IPC和无锁消息


  • 其他由DPDK实现的性能增强技术



DPVS的主要特点包括:


L4负载均衡器,包括FNAT,DR模式等


不同的调度算法,如RR、WLC、WRR等


用户空间轻量级IP协议栈(IPv4,路由,ARP,ICMP ...)。


SNAT模式,用于从内部网络访问Internet。


支持KNI,VLAN,不同IDC环境的绑定。


安全方面,支持TCP syn-proxy,Conn-Limit,黑名单。


QoS:流量控制(开发中)


DPVS功能模块如下图所示:



quick start


快速搭建:


Linux发行版:CentOS 7.2


内核:3.10.0-327.el7.x86_64


CPU:Intel(R)Xeon(R)CPU E5-2650 v3 @ 2.30GHz


NIC:Intel X540


内存:64G和NUMA系统。


GCC:gcc版本4.8.5 20150623(红帽4.8.5-4)


DPDK可以正常工作的环境应该也能运行DPVS,请查看dpdk.org了解更多信息。


安装过程略,可以到官网查看详情。


测试 Full-NAT 负载均衡


测试拓扑图如下所示:



在DPVS上设置VIP和本地IP(Full-NAT模式所需的LIP)。 我们把命令放到setup.sh中。 你可以通过./ipvsadm -ln,./dpip addr show来检查一下。



从客户端访问VIP,看起来正常!



性能测试


我们的测试显示,DPVS的转发速度(pps)是LVS的几倍,与Google的Maglev一样好。


浏览 35
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报