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

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

GPLv2
C/C++
Linux
爱奇艺
2017-10-19
beacer

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一样好。

加载中

评论(11)

刘鹏鹏
没有使用文档,
纯洁徐
纯洁徐
话说,这图咋挂了呢? @红薯
59471032
59471032
pp-gcc/build/lib/librte_eal/linuxapp/kni/igb_main.c:2288:2: 错误:提供给函数‘ndo_dflt_bridge_getlink’的实参太少
Theobob
Theobob
青出于蓝而胜于蓝
admins
admins
就是需要 不断进步 !!
叉烧炒蛋
叉烧炒蛋
请问图是用什么画的?
雷兽
.....dpdk 利用了很多硬件特殊 当然会比lvs性能高很多 numa确保了0复制吧?而且每个物理核和它管理的内存和其他的cpu是互相独立的 自己的内存片区 访问起来性能更高带宽更大 各自处理转发任务 自然不用复制 还大大提高了性能。。。。正是numa提供的更高的cpu和内存之间通信性能 才能搞的比lvs高那么多吧
冷絮
冷絮
我想知道高可用咋做的
秋_89
秋_89
软件只要套上 DPDK 框架,档次提高就不是一点点了。
Xiao'J
Xiao'J
有没有高性能的基于DPDK的L3负载均衡?

暂无资讯

暂无问答

10月新增开源项目:号称最快的 Node.js 应用框架来了

看看开源中国社区十月份有哪些值得关注的新增项目:百度研发的移动端深度学习框架 MDL,号称是目前最快 Node.js 应用框架之一的 Fastify,Go 语言实现的分布式全文搜索引擎 riot 等等……希望...

2017/11/07 18:54
12.4K
3

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部