作者:郭胖胖
链接:
https://www.zhihu.com/question/24190604/answer/140788789简单说下某家的大型网络架构吧,BAT 级别的其实主要考虑的是冗余性了,因此“负载分担( LB )”被用到了极致。外网( LB ):外网各个厂家无非两种方案:静态接入(便宜),BGP 邻居(贵)并且和 ISP 的接入肯定是多条线路,这个多条线路包含了不同局点的线路,就为了避免单局点故障/割接什么的导致整个外网中断。外网接入的难点在于:同时多 ISP 接入时如何做到相互备份和选路。很多厂家用了 F5 的 GTM 解决方案。中间层( LB ):大部分小厂家用的是 A10 ,F5 什么的硬件负载均衡设备,但是到了 BAT 级别甚至谷歌用的就是 LVS 之类的 L4 层软件负载均衡了。优点就是:扩展方便,配置和管理都方便。不过谷歌貌似把 LVS 发展到了非常牛的水平,直接做到了网卡层面。内网( LB )内网基本上都是 什么 N7K,S125,CE128 之类的数据中心交换机的多台组成一个 cluster ,然后 TOR/汇聚多链路上行到核心。内网可大二层,也可三层。你会发现无论在外网---中间层----内网基本上都是负载分担的,主要还是考虑冗余和灾备。剩下一些就是什么利用 TE 隧道/云计算/SDN 什么的来控制选路或提高冗余型什么的。外网流量清洗,防攻击什么的安全策略。至于网络团队,每个大公司都必有维护团队,可能有建设团队(有些直接外包给厂家),有些有研发团队(自研交换机,自研服务器,定制交换机/服务器,甚至优化 linux/LVS 都有)这些都是专门的团队搞。除了这些,网络监控、告警优化、CMDB 、工单系统什么的这都有专门的团队来配合。