写点什么

揭秘下一代腾讯云高性能网络技术

  • 2019-11-12
  • 本文字数:2034 字

    阅读完需:约 7 分钟

揭秘下一代腾讯云高性能网络技术

大数据时代带来的数据流动性,对承担数据流动的网络技术带来了新挑战。11 月 7 日,在腾讯云主办的首届 Techo 开发者大会现场,腾讯云对下一代高性能网络技术进行了揭秘。

数据中心网络带宽演进的三个阶段

随着 5G、AI、云计算的普及和场景应用,越来越多的设备被连接,数据洪流随时随地产生和分享,对网络架构和处理数据的能力提出了新需求,而腾讯云对于高性能网络软件架构的思考,也经历了数据中心网络带宽演进的三个阶段:


第一阶段,公有云数据中心的服务器接入带宽在 2014 年从千兆迈入万兆。这个阶段所有的网络虚拟化软件通过内核模块实现, 通过横向扩展来满足网关的性能需求, 由于内核框架本身性能的局限性,实现的性能指标今天看起来很差,但是能够满足当时的客户诉求。


第二阶段,2017 年随着视频行业和游戏加速行业的兴起,云网络逐步开始从 10G 向 25G 迁移,这些行业上云对虚拟化网络提出了百万级别稳定的包处理能力需求,对 VM 的网络互访时延及时延的稳定性要求也更加苛刻。


在这种背景下, 虚拟化网络的技术突破点是 DPDK,整个虚拟网络的架构并没本质变化,只是虚拟网络软件用 dpdk 重新实现,提升了单台机器的性能。


第三阶段,预计到 2020 年底公有云数据中心的服务器接入带宽即将达到 100G。主要驱动力来自于虚拟化密度的提升。事实上,在今年底已有 196 核的 CPU 面世,虚拟化密度直接翻倍,可预期的未来,4HT 的技术会出现,虚拟化密度会继续大幅度提升,对网络基础设施架构的能力会带来非常大的挑战。


显然,不同的网络带宽时代,对虚拟化网络的软件架构会有不一样的要求。尤其是随着腾讯内部自研业务的大量上云,内网互访流量非常的大,overlay 访问 underlay 的支撑服务流量可以百 T 计,大流量的冲击下,集中式网关的资源问题和 scale 能力成为一个非常大的问题。

下一代腾讯云高性能网络技术两大突破口

对于腾讯云来说,下一代高性能网络技术突破有两个:超稳虚拟化平台、网关的演进。乍一看,两者似乎关系不大,但想要搭建下一代高性能网络技术就像是建房子,超稳虚拟化平台是支撑房子的地基,而网关则是贯穿房子墙面的的钢筋骨架。


“网络架构的元素会简化,要减少集中式网关的使用,核心是边界的高性能网关,以及高性能稳定的虚拟化底层平台”, 金峰现场说道。



金峰表示,超稳虚拟化平台,腾讯云内部有一个专门的云基项目去支撑。这个项目对网络虚拟化,存储虚拟化和计算虚拟化都做了大量的重构和优化,计算虚拟化大幅度优化 KVM 性能损耗,为社区贡献了超过 100 个核心 patch,在全球的互联网厂商中都名列前茅,可以保证在大多数场景下实现虚拟化相比物理机单核性能损耗在 5%以内。


网络虚拟化优化了各种不同场景的处理性能,不局限于优化快转表的性能,对于纯粹的包转发模式也做了大量的查询匹配优化,性能能做到 2M PPS 以上,此外 vswitch 可以自动判断每个数据包应该采用的转发模式,分别使用包转发,基于软件的快转表转发,和基于硬件的快转表转发, 为每种不同场景提供最适合的转发模式来保障性能。云基项目支撑的高稳虚拟化平台在腾讯内部的自研上云业务中大规模使用,支撑了 QQ,微信等核心业务的苛刻性能要求。值得一提的,业界支撑自研上云大多使用 baremetal 方案,腾讯云完全用虚拟化支撑了核心业务的自研上云。


有了超稳虚拟化这个扎实的房子地基,作为“钢筋骨架网络”的网关就可以持续演进,表现在三个方面:1、业务网关 NFV;2、内部服务去网关;3、边界网关硬件化。


首先,基于超稳的虚拟化平台,腾讯云可以将 LB, NAT 等业务网关放在虚拟化平台上,复用虚拟化平台本身的资源池优势,无感知调度迁移,高性能网络,优先级 QOS 等能力,保障自身的性能和稳定性。此外集中式网关变为分散的虚拟化网关,故障域大大缩小,对整体的可用性也有很大的收益。


其次,去除物理网关。对于用户访问对象存储,数据库等基础服务,此前会有一个有状态网关来做 overlay-underlay 转换,自研上云之后,几百 T 的内网带宽让这种集中式有状态网关的成本和可用性难以承受,将 overlay 和 underlay 的边界从网关移到每台提供基础服务的物理服务器上,每台物理服务器插入一个内核模块,提供 VPC 的被动访问接入能力。


第三,就是边界网关的硬件化,腾讯云已经在和一些合作伙伴进行这方面的预研,一台硬件网关可以提供 5-10 个 100G 软件网关集群提供的性能,在大网络吞吐时代对于边界网关的规模可控具有非常大的意义。


金峰表示,除了 VPC 网络之外,100G 网络当前最大的场景来自于大数据、AI 带来的低延迟高吞吐网络需求,这对于 RDMA 网络有非常强烈的诉求。


腾讯云采取 VPC overlay + rdma underlay 双网络的方式来承载基于 GPU direct 的 AI 多机训练业务;目前 100G rdma 网络已经在腾讯的云上 GPU 算力平台上得到应用,服务了腾讯内部的诸多 AI 类业务。


“下一代的高性能网络,腾讯云期望是一个结构简单的网络,它并不一定是绝对数值最好的,但是一定是对客户有保障的,能够满足客户各种不同场景的性能和可用性诉求”, 腾讯云 IAAS 专家工程师金峰总结道。


2019-11-12 17:561077

评论

发布
暂无评论
发现更多内容

Flink初体验

数据社

大数据 flink 流计算

【Vue3.0 Beta】尝鲜

德育处主任

CSS Java html5 Vue 大前端

Linux 性能诊断:负载评估入门

RiboseYim

Linux 性能优化

一文讲清楚 MySQL 事务隔离级别和实现原理,开发人员必备知识点

古时的风筝

MySQL 数据库 事务隔离级别 mysql事务 数据库事务

【gRPC】Python调用Java的gRPC服务

遇见

Java Python gRPC

寻找伴侣最重要的是什么?

二爷

2020了,各家小程序发展的怎么样?

崔红保

小程序 uni-app

从流程、认知上做稳定的系统演进

Skysper

系统设计 质量管理

初入响应式编程(上)

CD826

spring 微服务 Spring Cloud 响应式编程 reactor

测试

Chonge

毕竟,一生很短,少有圆满

霍太稳@极客邦科技

创业 身心健康 个人成长

翻译: Effective Go (1)

申屠鹏会

翻译 Go 语言

分享多年积累的 macOS 效率工具

张晓辉

macos

业务代码必须要做的事情

程序员劝退师

用声音在一起,听荔枝CTO丁宁聊UGC声音互动平台的技术世界

ONES 王颖奇

内容 企业架构 互联网

一个创业者的途中思考

非著名程序员

创业 读书笔记 程序员 重新理解创业 思考

写一个开源的 macOS 程序可以赚多少钱?

子骅 luin

node.js redis GitHub 开源 赚钱

为什么你的创业公司应该运行在Kubernetes上

云原生

云原生 k8s

【数据结构】双向链表插入操作的时间复杂度分析

遇见

数据结构 算法 时间复杂度

近两年影响我的两个重要原则

Selina

人们喜欢彼此制造困难让大家难过

Fenng

OKR实践中的痛点(1):老板的KR我的O,怎么办?

大叔杨

OKR Scrum 敏捷

uni-app黑魔法:小程序自定义组件运行到H5平台

崔红保

小程序 uni-app

业务系统开发程序员常用linux知识

程序员劝退师

Linux

电子书:《Linux Perf Master》

RiboseYim

Linux 性能优化

对话 CTO〡和 PingCAP CTO 黄东旭聊开源数据库新蓝海

ONES 王颖奇

数据库 分布式 开发者

此为开卷

X.F

浅谈汽车行业嵌入式软件发布的流程有多复杂

WB

程序员 软件

走出舒适区最好办法别走了,扩大它

乐少

WebSphere Application Server运维实践 --从入门到监控

rafe

Java WAS perfservlet visualVM JMX

芋道 Spring Cloud Alibaba 介绍

艿艿

阿里巴巴 分布式 微服务 Spring Cloud Spring Boot

揭秘下一代腾讯云高性能网络技术_服务革新_云加社区_InfoQ精选文章