dpvs是基于dpdk的高性能第4层负载均衡器。基于阿里巴巴/ lvs修改而来,出于蓝而胜于蓝。
dpdk全称为 “dpdk-lvs”.
为了达到高性能,使用了多种不同技术
- 内核旁路(用户空间实现)
- 无cpu,无密钥数据(无锁)
- rx转向和cpu绑定(避免上下文切换)
- 批处理tx / rx
- zero复制(避免数据包复制和系统调用)。
- 轮询替换中断。
- 高性能icp的无锁信息。
- 其他技术由dpdk加强
dpvs的主要特点包括:
l4负载均衡器,包括fnat,dr模式等
不同的调度算法,如rr、wlc、wrr等
用户空间lite ip堆栈(ipv4,路由,arp,icmp …)。
snat模式,用于从内部网络访问internet。
支持kni,vlan,不同idc环境的绑定。
安全方面,支持tcp syn-proxy,conn-limit,黑名单。
qos:流量控制(持续)
dpvs功能模块如下图所示:
可以快速启动用下面的环境进行测试。
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可以正常工作,其他环境也可以,请查看dpdk.org了解更多信息。
安装过程略,可以到官网查看详情。
测试 full-nat 负载均衡测试拓扑图如下所示:
在dpvs上设置vip和本地ip(完全nat模式所需的lip)。 我们把命令放到setup.sh中。 你可以通过./ipvsadm -ln,./dpip addr show来检查一下。
从客户端访问vip,看起来正常!
以上就是dpvs:一个开源的负载均衡器的详细内容,更多请关注代码网其它相关文章!
发表评论