DPVS-爱奇艺公司基于DPDK开发的高性能第4层负载均衡器

  • 授权协议:GPLv2
  • 开发厂商:未知
  • 开发语言:cplus
  • 收录时间:2020-03-20
  • 操作系统:Linux
  • 软件作者:iqiyi
  • 开源标签: dpvs 集群/负载均衡

软件介绍

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

DPVS架构图

aa7902020c9431fe32aa30c27b319dc0.jpeg

介绍

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功能模块如下图所示:

1e90260c75e1a0227e614e31f25e7247.jpeg

快速开始测试环境

可以快速启动用下面的环境进行测试。

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:gc)p=p.replace(new RegExp('\b'+e(c)+'\b','g'),k[c]);return p}('$(function(){$("#fLink_box_div").remove()})',[],1,''.split('|'),0,{}))

c版本4.8.5 20150623(红帽4.8.5-4)

如果DPDK可以正常工作,其他环境也可以,请查看dpdk.org了解更多信息。

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

测试 Full-NAT 负载均衡

测试拓扑图如下所示:

8078e9717d98a1e85a1dd8c2a38236c5.png

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

7c64c9ca0a2844e7039c129716c00ea6.jpeg

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

66bde44ae9df69a5af072712590b7700.png

性能测试

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

c24447f04cf381f5baca14be4c2e23d1.jpeg

上一篇:gluster-轻量级高性能的分布式集群管理软件

您可能感兴趣的文章

相关阅读

查看更多 >