另外参见:http://www.chinaz.com/manage/2012/0516/251955.shtml
微信技术总监周颢:一亿用户背后架构秘密
腾讯大讲堂
腾讯业务的飞速发展,对网络等基础设施提出了海量运营的要求。同时,数量众多、且型态各异的业务,所要求的网络服务也各不相同……这些都是对网络架构提出的巨大挑战(图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架构(http://en.wikipedia.org/wiki/Clos_network) 理念的引入,让未来在此版本上持续的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. 腾讯云网络海量支撑能力为我保驾护航。运营商级别的网络,优质的运营支撑。
文章来源:腾讯大讲堂