DPVS 高性能第4层负载均衡器开源项目

我要开发同款
匿名用户2017年10月19日
48阅读
开发技术C/C++
所属分类服务器软件、集群/负载均衡
授权协议GPLv2

作品详情

DPVS架构图

介绍

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

DPVS全称为"DPDK-LVS".

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

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

per-CPU,关键数据无锁化

RSSteering和CPU绑定(避免上下文切换)

批处理TX/RX

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

轮询替换中断

高性能IPC和无锁消息

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

DPVS的主要特点包括:

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

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

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

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

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

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

QoS:流量控制(开发中)

DPVS功能模块如下图所示:

quickstart

快速搭建:

Linux发行版:CentOS7.2

内核:3.10.0-327.el7.x86_64

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

NIC:IntelX540

内存:64G和NUMA系统。

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

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

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

测试Full-NAT负载均衡

测试拓扑图如下所示:

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

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

性能测试

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

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论