网易数帆基于DPDK的高性能四层负载均衡实践

2020 年 8 月 09 日

网易数帆基于DPDK的高性能四层负载均衡实践

在基础设施领域,从谈云计算到聊云原生,无论技术怎么革新,作为业务流量入口四层负载均衡都在默默的支撑着业务的运行,随着业务规模扩大,其中稳定、高性能是业务对四层负载均衡的核心诉求,买硬件四层负载均衡太贵,纯软件实现规模又上不去成本还高,唯有基于开源方案自研才能破局。高性能负载均衡不好做,本文分享一些实践经验,主要讨论“网易数帆的高性能负载均衡如何基于开源负载均衡软件 DPVS 打造的”。

为什么选择 DPVS

目前高性能负载均衡研发的一个流行方案是使用 DPDK(Data Plane Development Kit),这是一个用于包数据处理加速的软件库,使用了网卡用户态驱动、零拷贝、内存 Hugepage 和 Polling 模式等技术。业界基于 DPDK 开发负载均衡主要有两种模式,一是直接在 DPDK 库上自研或者移植负载均衡业务逻辑代码,二是使用 DPDK 作为加速通道加速已有的负载均衡的开源软件。DPVS 就是一个使用 DPDK 软件库加速 LVS(DPDK+LVS)的高性能负载均衡开源软件,详见 https://github.com/iqiyi/dpvs。

网易数帆选择基于 DPVS 开发新一代四层负载均衡,是因为 DPVS 既解决了 LVS 的性能瓶颈问题,又具备 LVS 的丰富的负载均衡业务逻辑,这使得团队可以把主要精力放在四层负载均衡和云内网络框架适配、运维监控、稳定性和软硬结合提升性能的优化上,而非重复开发负载均衡业务逻辑。

原文链接:【 https://www.infoq.cn/article/hLHteohg8ELx6eYveifL 】。未经作者许可,禁止转载。

登录后可解锁全站优质内容

免费畅享技术公开课、顶尖技术团队访谈、一线互联网大厂技术实践

文章
视频
电子书
研究报告
立即登录
2020 年 8 月 09 日 23:30 1652

评论 2 条评论

发布
用户头像
这样的干货居然没有回复和评论?其实我也没完全看懂,但看到了需要的内容就赚到了。多谢。
2020 年 08 月 17 日 10:05
回复
图4有错别字,牵引s/会/回。
2020 年 08 月 17 日 10:08
回复
没有更多评论了
  • 如何追踪消息链路

    2019 年 5 月 23 日

  • Facebook 开源新一代网络负载均衡器 Katran

    近日,Facebook开源了Katran,一个四层网络负载均衡器软件包,已经被用在Facebook的网络负载均衡器当中。Katran是一种基于软件的负载均衡解决方案,利用了两项最新的内核工程创新:eXpress Data Path(XDP)和eBPF虚拟机。Katran被部署在Facebook的PoP服务器上,用于提高网络负载均衡的性能和可扩展性,并减少在没有数据包流入时的循环等待。

  • 京东网络接入体系解密之高性能四层网关 DLVS

    接入体系包含SLB(四层网关DLVS, 应用负载均衡JFE,流量调度系统(GTC),DDOS防护系统(TP),服务质量监控系统(Deeplog),以及运维管理平台(NP))。这次这篇文章是接入体系头盘菜,后续我们计划将这块的建设和运营经验分享给业界。

  • 透传 IP 地址的 3 个方案

    2019 年 1 月 25 日

  • 协议专栏特别福利 | 答疑解惑第二期

    第二期答疑涵盖第3讲至第6讲的内容。欢迎你继续提问!

    2018 年 8 月 22 日

  • Service Mesh 的请求路由流程分析

    本文主要分析 WeiboMesh 在运行阶段请求路由的实现,对比现有的通用 Service Mesh (比如 Istio )在这方面的不同。

    2018 年 3 月 21 日

  • 万台规模下的 SDN 控制器集群部署实践

    本文根据华三通信研发副总裁王飓在2014年QCon上海的主题演讲《SDN控制器集群中的分布式技术实践》整理而成。目前在网络世界里,云计算、虚拟化、SDN、NFV这些话题都非常热。今天跟大家一起来一场SDN的深度之旅,从概念一直到实践一直到一些具体的技术。

  • Docker 扁平化网络设计与实现

    众所周知,Docker容器跨主机互访一直是一个问题,Docker官方为了避免网络上带来的诸多麻烦,故将跨主机网络开了比较大的口子,而由用户自己去实现。目前Docker跨主机的网络实现方案也有很多种,主要包括端口映射、ovs、 fannel等。但是这些方案都无法满足TalkingData的需求,最后我们采取了自主研发扁平化网络插件,也就是说让所有的容器统统在大二层上互通。

  • LVS 在大规模网络环境中的应用

    LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器。目前LVS已经是Linux内核标准的一部分。阿里云技术团队近日分享了题为《LVS在大规模网络环境中的应用》的演讲,InfoQ对演讲内容进行了整理。

    DevOps
  • YY 游戏云平台 Cloud 2.0 网络设计分析

    YY游戏Cloud 2.0的开发背景详见《YY游戏私有云平台实践》。在Cloud 2.0里,虚拟网络的架构和实现是重中之重,本文主要谈及网络设计部分。

发现更多内容

S型曲线 - 第一曲线

石云升

S型曲线 第一曲线 连续性创新

写简历没模板?别怕,这些开源项目帮你搞定!

JackTian

GitHub 面试 求职 开源项目 简历模板

作业:食堂就餐卡系统UML图

Dawn

极客大学架构师训练营

第一周总结 - 架构文档

孙志平

LeetCode | 3. Roman to Integer 罗马数字转整数

Puran

算法 LeetCode arts

学习总结-第1周

饶军

最全干货:从写简历,到面试、谈薪酬的那些技巧和防坑指南

四猿外

深度思考 程序员 个人成长 面试 求职

食堂就餐卡系统架构设计

Raymond

架构师训练营--第一周学习总结

花花大脸猫

极客大学架构师训练营

恕我直言,我怀疑你并不会用 Java 枚举

沉默王二

Java 枚举

食堂就餐卡系统设计

Jeff.Smile

极客大学架构师训练营

陈虻语录(摘)

YoungZY

读书

当选择越来越多,我们为什么反而越来越不开心

七镜花园-董一凡

生活 情感

读笔 | 迷茫期问问自己这三个问题

张鸱鸺

读书笔记 个人成长 心灵圣经

这个神器让你拥有最佳的打印阅读体验

非著名程序员

chrome 程序员 效率工具 插件

架构第一周-学习总结

Jeff.Smile

极客大学架构师训练营

陆强作业

Mr.Monkey

ARTS week 04

刘昱

iOS 动画 - 窗景篇(二)

柯烂

ios objective-c swift 动画 移动

阿里《Java开发手册》也有bug?

王磊

Java 性能优化 Java性能

重学 Java 设计模式:实战组合模式(营销差异化人群发券,决策树引擎搭建场景)

小傅哥

设计模式 重构 代码质量 代码坏味道 组合模式

第一周总结

森林

架构师训练营--第一周作业

花花大脸猫

极客大学架构师训练营

极客时间<<架构师训练营>>第一周作业

好名字

极客大学架构师训练营 作业 第0期

课后总结-20200606

caibird1984

架构师训练营-第一周学习笔记

Dawn

极客大学架构师训练营

数据中台各种架构图

久吾尔岂

数据中台

ARTS week 3

锈蠢刀

架构师训练营第一周总结

Raymond

学习总结

Mr.Monkey

「架构师训练营」第1周学习总结

guoguo 👻

极客大学架构师训练营

网易数帆基于DPDK的高性能四层负载均衡实践-InfoQ