NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

架构之美–开放环境下的网络架构

  • 2012-06-04
  • 本文字数:4549 字

    阅读完需:约 15 分钟

编者按:由 InfoQ 主办的全球架构师峰会将于2012 年8 月10 日-12 日在深圳举行,为了更好地诠释架构的意义、方法和实践,InfoQ 中文站近期会集中发布一批与架构相关的文章,本篇即为其中之一。InfoQ 也欢迎读者亲身参与到本次全球架构师峰会中,与来自国内外的顶尖架构师进行面对面的交流。报名参会请点击这里

腾讯开放平台承载着广泛开发者的梦想,腾讯的网络平台正为其保驾护航。如何保障用户对业务的访问体验、如何构建稳定可靠的数据中心及广域网络、如何适应云计算的多样性需求打造云网络? 腾讯网络架构经过萌发期到海量的蜕变,其间发生了怎样的变化?积累了哪些可供业界分享的经验?

5 月 16 日晚,腾讯大讲堂·深圳站《架构之美——开放环境下的网络架构》活动在腾讯总部腾讯大厦多功能厅举办,腾讯网络架构中心总监马志强在两小时的演讲中揭开了腾讯网络架构背后的秘密。

腾讯业务的飞速发展,对网络等基础设施提出了海量运营的要求。同时,数量众多、且型态各异的业务,所要求的网络服务也各不相同。这些都是对网络架构提出的巨大挑战(图1——网络架构面对的挑战)。

图1——网络架构面对的挑战

2010 年,腾讯推出了开放平台,所有平台开发者及合作伙伴的应用都可以在此平台上成长和发展,与此同时,这对计算资源及网络资源提出了更高的要求。经过不断的探索与总结,最终得出:支撑腾讯开放云平台的网络架构,必须要做到以下三点:

  1. 网络基础设施要健壮强劲;
  2. 网络要适应多租户接入需求;
  3. 用户网络覆盖质量要好。

在深入探寻如何实现以上三点前,需要先基本了解腾讯网络架构。

腾讯的网络架构不是一天构造而成、并具备支撑海量业务能力的,而是随着业务的成长逐步发展起来的。在不断发展的十多年期间,随着业务在种类和容量上爆发式的增长,基础网络在技术、容量和架构上也在不断提升,其提升的步伐甚至大于业务需求的步伐。因为只有这样,才能打造一个稳健可靠的、服务于公司各项业务的网络架构平台。

发展至今,我们已有数十人的运营支撑团队、数十人的专业设计构架团队,共支撑超过 20 万台服务器。网络设备达上万台,具备业界领先的 5000 台规模计算集群数据中心网络 v3.5,搭建百 G 总容量的广域网络,支撑全国和海外数十个大中型 IDC(图 2——网络平台构建,与业务共成长)。

图 2——网络平台构建,与业务共成长

此网络架构示意图(图 3——网络架构示意图)中整体展示了我们的网络架构:从数据中心内部的网络到用于 IDC 互联的城域网络及广域网络,以及与运营商互联的出口等。

图 3——网络架构示意图

尽管现在的网络架构平台有了很大的改进和提升,但团队的努力没有停留于此。我们继续在架构和运营上不断优化提升,从“作坊式定制化的企业型网络”向“海量计算集群网络及智能自定义网络”努力!从“纯手工式故障发现排除”向“全面监控智能化网络”及“运营商级稳定网络”努力!

网络基础设施要健壮强劲

解决早期 IDC 网络架构老大难题

早期的 IDC 网络架构主要存在四大问题:

  1. 杂:网络专区过多,特色服务难以快速满足;
  2. 乱:网络稳定性欠缺,存在单播 flooding;
  3. 弱:网络性能难以满足需求,过高超载使得服务器获得的带宽较小;
  4. 慢:网络层次和设备多样,标准程度不高,难以满足快速建设需求;

面对这四大问题,腾讯团队重新思考了老版本架构面临新时代挑战所存在的弊端、并对下一代网络产品引入的可行性做了评估之后,参考 Google 等大牛级架构设计、结合自身产品和企业特点,逐步构建成了具有历史意义的 v3.5 IDC 网络架构版本(图 4——腾讯 V3.5 数据中心网络)。同时, CLOS 架构 理念的引入,让未来在此版本上持续的 scale out 也找到了数模依据。

图 4——腾讯 V3.5 数据中心网络

网络,稳定压倒一切!

如果几万台服务器分布在一个城市的几十个 IDC,上千种业务在约 100 条万兆互联链路上产生约 700G 的跨 IDC 洪流,每一次故障都会直接影响到用户,这种后果是非常严重的。为保障服务长期稳健运行,腾讯构建了运营商级别的城域和广域网络(图 5——运营商级别的城域和广域网络)。

图 5——运营商级别的城域和广域网络

城域网采用标准化结构,构建承载力强、冗余性高的健壮城域网络。构建成上 T 级汇聚能力、百 G 级站点交互能力,自建大容量、高可靠传输系统的城域网。

广域网主要从架构规整化及能力上大幅提升,就像建造能连接全国范围 IDC 的高速铁路和高速公路一样,为业务全国分布做好准备。同时,将广域网监控精细化,使业务看得见、有意识、重协作,同时要想高铁 VIP 一等座和普通座的划分一样对重点业务流量能够予以保障,提供差异化服务且使得资源效率高。

让网络看得见摸得着

为了保障网络的稳定可靠,真正实现能够看得见、管得住、用得好,团队自主研发了 TMP 系统(图 6——腾讯自主研发 TMP 系统),实现了基础架构海量节点实时监控支持。TMP 系统覆盖腾讯全量基础设施,如 20W+ 服务器、2W+ 网络设备状态、性能、容量的实时采集与智能分析、1 分钟存活状态监控、5 分钟性能、容量监控,以及 100+IDC、200+ 外网出口、500+ 内网专线,从 IDC 内部服务器到出口、专线 FullMesh 的 5 分钟粒度的全方位网络质量监控与度量体系。

同时,还具备腾讯基础设施 7*24 的运营入口 -NOC,每天 400w 条的海量信息处理和 +80% 故障处理解决率,覆盖公司全业务的基础架构日常运营工作:业务安全防控、流量全局调度、业务质量检测及演戏预案等系列前瞻性运营工作,为海量业务提供高质量、全纬度的运营服务。

图 6——腾讯自主研发 TMP 系统

新形态:多租户接入需求

开放平台的推出对全套的网络架构提出了更高的要求,IDC 网络架构必须支持开发者、合作伙伴、自营业务等多种多样业务的需求。

目前, IDC 网络架构 v3.5 可提供(图 7——网络架构 V3.5 可提供服务):

  1. 适应自营业务和开放平台业务的多种多样需求, 如高带宽 / 无阻塞通信、组播、Qos 保障……
  2. 云计算数据中心的安全服务。网络安全防护手段(VRF、VLAN ACL、PVLAN、基于标记的安全防护等)与硬件抽象层软防火墙 /DFW 与相结合为虚拟化环境提供所需的安全防护;
  3. 整合网络资源,统一调度快速交付。云控制平台 /Matrix 实现 30 分钟交付虚拟机,通过自动化工具 / 例如云计算网络控制中心与 Matrix 对接,实现业务感知的网络资源调度,VM 迁移时,相关的网络信息、网络安全策略、Qos 策略统一调度。

图 7——网络架构 V3.5 可提供服务

与此同时,我们与业界一同进行前沿性研究 -SDN/ 自定义网络(图 8——腾讯与业界的前沿性研究—SDN),以满足我们的 IDC 网络能够更加快速地实现业务所需的特性,更加灵活地平滑扩展。

图 8——腾讯与业界的前沿性研究—SDN

用户网络覆盖质量要好

作为业务侧,对用户体验非常关心,也是网络架构最关注重点优化的一个方面。

由于业务“内容”在这里,而用户“眼球”在运营商侧,最终用户的访问体验受到很多我们无法掌控的因素所影响。据统计,运营商网络故障对腾讯的影响占比连年超过 70%。

举个典型的例子,河南境内某处光缆中断,对我方西安某运营商出口造成中断,流量丢失 40G 左右。

所以要改善用户体验,为业务提供良好的网络覆盖质量,我们在三个方面进行努力:看清、对齐、布局。

看清 – 点、线、面的网络质量监控

用户访问体验关系到诸多方面,用户 ->IDC 外网质量,IDC 内部网络质量,IDC 间网络质量,我们在 TMP 系统中实现全方位立体化的网络质量监控。

对齐 – 提前与运营商接口规划信息

运营商省网 / 城域网、骨干网等都是用户体验的关键环节,我们必须与运营商省 / 城公司、集团骨干公司提前对齐规划信息,确保各个环节都能够满足我们的容量和质量要求,其中包括运营商骨干网网络容量和质量、省网 / 城域网上联骨干网带宽容量和质量、省网 / 城域网网络容量和质量等。

布局 – 网络

在中国的运营商环境中,主力运营商间的互联互通及长期保持质量都较差,除内容至少复制两份之外,还有大批用户在其他运营商网内,在移动互联网大发展的时候,移动网内的用户体验非常关键。

所以在网络布局上,IDC 和网络资源上尽可能多提供多运营商接入环境。采用诸多关键技术方案,为业务提供更多的运营商网络接入环境,并保障安全,例如:

  1. 域名引导;
  2. BGP、IPSLA 等网络对接技术;
  3. Netflow、Span 等网络分析;
  4. 负载均衡、流量调度技术;
  5. Anti-DDoS 等安全防护。

布局 – IDC 资源

转变 “被动接受”的 IDC 资源布局模式。由于业界的 IDC 供给速度不足,在业务布局前需考虑是哪里有 IDC,这样会导致业务部署碎片多、交互效率低、对用户覆盖质量达不到、需事后推动改善等问题。

要向“用户体验为首位”的资源布局思路转换,为业务提供质量覆盖良好且稳定的网络访问。

要建立好这个模型,我们必须深入了解并长期把脉中国的运营商网络环境,且深入了解我们的业务需求,而非眉毛胡子一把抓。针对这种情况,我们首先对业务进行了深入研究,将业务对用户访问体验进行分级,如下示例:

另外,对 IDC 全国用户的覆盖质量进行长期追踪、建立基线,以确保网络质量保持恒定,而且我们还要有能力推动运营商或自行解决不符合要求的网络覆盖质量。

针对这种情况,我们推出类似这样的模型,使得业务布局最精简,而且是对用户覆盖质量最好的。

通过“看清、对齐、布局”三个方面的改善,我们通过全方位立体的网络监控体系实时了解用户的最终体验情况,与运营商提前主动对齐规划、主动推动改善优化,并通过 IDC 和网络的布局,最终实现用户访问质量的长期良好状态。

总结

关于开放平台网络架构

  1. 腾讯网络架构提供高效稳定、安全可靠的通信。IDC 网络架构、城域及广域网络、出口网络、对外互联网络等采用运营商级别的设备和技术;网络架构为开放云平台提供虚拟化支持、合作伙伴安全隔离等定制化特性,在与业界共同探讨更加前言的解决方案,如 SDN 等;
  2. 腾讯网络和基础设施具备海量运营的思路和能力。快速的 IDC 和网络资源建设供给能力支撑海量运营的监控系统及 NOC 窗口;
  3. 腾讯网络架构作为基础设施整体解决方案的一部分将更加给力。深入理解业务需求,结合网络、平台系统提供综合整体解决方案;腾讯网络架构的优化,获公司级 [2011 年重大技术突破奖];
  4. 我们在与业界共同努力,积极探索适应互联网行业新的解决方案。

关于网络架构发展的一些简单经验

  1. 业务布局与网络架构要沟通配合。业务的部署要考虑网络特点,否则需要练就乾坤大挪移。互联网业务的特点显著,需要网络特别关注,例如 map/reduce;
  2. 网络架构的步伐和规划要适当大于业务短期需求。因为网络本身庞大而包袱重,要为可能的海量爆发提前做好准备;
  3. 网络要简单而优雅,掌握“架构之美”的度。不要追求技术极致,要考虑运维能力。

关于业务对腾讯开放平台网络的知晓

  1. 了解网络的真正用途。可靠而高质量地实现、负责业务对话、负责连接”眼球”;
  2. 在腾讯云平台上的网络灵活自如。数据中心网络和承载网络,架构灵活支持伙伴接入和拓展;
  3. 腾讯云网络海量支撑能力为我保驾护航。运营商级别的网络,优质的运营支撑。

5 月 16 日 21:00,两个小时的腾讯网络架构分享圆满结束!

欢迎大家继续期待 5 月 22 日晚举办的腾讯大讲堂对外讲座·第八期《智能应用和云服务:手机浏览器的未来之门》。更多精彩,尽在腾讯大讲堂: DJT.QQ.COM


给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-06-04 00:0010090

评论

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

热点面试题:JS 中 call, apply, bind 概念、用法、区别及实现?

控心つcrazy

JavaScript call apply bind 前端面试题

软件测试/测试开发 | app测试中常用的Android模拟器

测试人

android 软件测试 自动化测试 测试开发

一图读懂 | 2023年中国企业数字化技术应用十大趋势

易观分析

数字化 数字经济

墨天轮发布数据库行业报告,亚信科技AntDB“超融合+流式实时数仓”开启新纪元

亚信AntDB数据库

数据库 AntDB 国产数据库 AntDB数据库 企业号 2 月 PK 榜

苏宁基于 AI 和图技术的智能监控体系的建设

NebulaGraph

运维 图数据库

企业微信的聊天机器人来了!免费下载,Python自动化办公

程序员晚枫

Python 聊天机器人 企业微信

LeetCode题解:2347. 最好的扑克手牌,哈希表,详细注释

Lee Chen

JavaScript 算法 LeetCode 哈希表

到底怎么理解分布式事务

做梦都在改BUG

借力英特尔® Smart Edge,灵雀云 ACP 5G 专网解决方案获得多维度优化加速

York

云原生 5G 系统架构 边缘计算 英特尔

ChatGPT:将一个「营销小助手」请回家

FinFish

AI AIGC ChatGPT

架构训练营-模块五作业

Sam

架构实战营

京东力荐!深入理解高并发编程手册,GitHub上线3小时飙升榜首

做梦都在改BUG

Java 并发编程 高并发

微服务-常见配置中心工作原理

做梦都在改BUG

Java 微服务 配置中心

软件测试/测试开发 | 想做App测试就一定要了解的App结构

测试人

软件测试 自动化测试 测试开发 app测试

TestRai、Testlink、Jira、PingCode等6款测试用例管理工具对比

PingCode

管理工具 测试用例管理工具

飞书与钉钉的真正竞争在这

B Impact

MQTT QoS 0,1,2介绍

EMQ映云科技

物联网 IoT mqtt QoS 企业号 2 月 PK 榜

Matic链矩阵公排智能合约挖矿dapp系统开发详情(案例演示)

开发微hkkf5566

2023-02-20:小A认为如果在数组中有一个数出现了至少k次, 且这个数是该数组的众数,即出现次数最多的数之一, 那么这个数组被该数所支配, 显然当k比较大的时候,有些数组不被任何数所支配。 现在

福大大架构师每日一题

算法 rust 福大大

立即执行函数在前端国际化方案中的应用

xiaoxi666

修改ctags让fzf.vim插件显示C,C++方法声明的标签

alps2006

ctags fzf.vim

LeetCode:240. 搜索二维矩阵 II,二分查找,详细注释

Lee Chen

JavaScript 算法 LeetCode

华为云API Arts:用“1+1+5”的模式,为你带来API-First体验

华为云开发者联盟

云计算 后端 华为云 企业号 2 月 PK 榜 华为云开发者联盟

春种一粒粟:企业如何修炼好云原生内功?

脑极体

云原生

app上架需要准备什么以及上架流程

雪奈椰子

火山引擎DataTester:在广告投放场景下的A/B实验实践

字节跳动数据平台

大数据 AB testing实战 企业号 2 月 PK 榜

MQTT保留消息是什么?如何使用?

EMQ映云科技

物联网 IoT mqtt 企业号 2 月 PK 榜 保留消息

企业真的有必要用低代码平台吗?

这我可不懂

软件开发 低代码 低代码平台

架构实战 7 - 王者荣耀商城异地多活设计

架构实战营 「架构实战营」

体验AI乐趣:基于AI Gallery二分类猫狗图片分类小数据集自动学习

华为云开发者联盟

人工智能 华为云 企业号 2 月 PK 榜 华为云开发者联盟

为什么面试 SaaS 产品经理一定要问权限管理?

产品海豚湾

产品经理 SaaS 权限管理 B端 产品面试

架构之美–开放环境下的网络架构_架构_马志强_InfoQ精选文章