本文转载自微信公众号“ 鹅厂网事”(ID:tencent_network),作者:黄翔。
鹅厂是一个业务类型非常丰富的互联网公司,涵盖了大型社交流量平台(微信/QQ)、在线游戏、公有云、媒体(新闻/视频)、移动应用、开放平台、互联网金融等,不同类型的业务都有着自己的技术应用特点、业绩目标、成本考量体系,从而产生了对后台技术支撑能力的不同诉求。网络作为基础架构中的重要一环,也面临着这些海量业务运营带来的种种挑战。好在鹅厂是一个专业技术能力较强、内部合作顺畅的生态系统,将“不断提升用户体验”作为统一的技术目标,很多事情就可以分布式合作去完成,基于这一特点,作为鹅厂基础网络平台的架构师也深感幸福,因为可以更收敛、更聚焦的去解决一些有共性的重点问题——标准化的基础网络平台。
怎么搭建这个庞大的基础网络平台本身是一个非常复杂的议题,网络技术本身在这其中可能只占据不到20%的分量,为了让网络规划、建设、运营形成一个健康的体系,并不断提升业务系统面向用户的体验,需要考虑非常多的问题:包括网络技术选型、公司资源发放趋势、端到端的运营体系、网络技术发展趋势、硬件供应链管理、综合成本把控、迭代与稳定运营之间的Trade-off、风火水电、国内/国际通信环境等等因素,而这其中每一项几乎都可以写几本书来讲了。本文则聚焦于网络本身,笔者争取用通俗易懂的描述,简单的分享一下鹅厂构建基础网络平台的思路。
先看一张鹅厂基础网络平台的整体架构图(如下),网络之所以会演进到今天这个样子,主要是因为鹅厂网络的价值主体是不断构建和优化的两个能力——“连接服务与服务的能力”与“连接服务与用户的能力”,网络架构的发展必须围绕着两个能力来演进。同时,再根据上层业务特点(离线/在线)、地理资源丰富程度(地/电)、ISP网络布局、灾备要求、综合成本构成等因素,将整体基础网络平台分为三大块: