(1zjj.com)清水战歌网
您的位置:主页 > 新闻中心 > 业界新闻 >
资讯

《技术方案曝光,网易游戏是如何做到不停服维护的?》(2)

来源:未知 时间:2019-03-06 10:57


因为时间紧任务重,开始时想通过最短平快的方式实现虚拟网络间的互通,于是采用了一个最简单的网络方案“HostNetwork”将游戏服务器的虚拟IP也配置成实体IP,并注入到主路由中。但这使得主路由的设备条目数比设计容量多了三倍。硬件设备不足以支撑虚拟网络设备,是否有比较好的解决方案哪?我们又调研了docker环境下较常的Calico网络方案。



这是简化之后的网络图。这其中有几个模块:在宿主上的BGPClient,Felix,在网络集群内又多了RouteReflector和ETCD,分别负责宿主路由表的更新以及将虚拟机路由通过Reflector注入到主路由。这种方法可以使虚拟机通过主路由进行通信。


但通过仔细对比可以发现,其实Calico方案只是把hostnetwork方案配置自动化了。由于还是通过物理设备进行虚拟设备的管理和通信,所以整个网络依然受物理设备的限制影响;另外因为项目及设备数量的增加,内网IP也面临耗尽问题。所以必须有一套凌驾于物理网络的虚拟网络方案(Overlay),因此我们也对比了docker下另一个虚拟网络方案:Flannel。



Flannel是一套覆盖网络Overlaynetwork,通过上图可以看出,主要的实现原理是将数据包通过隧道方式进行再封装,从而实现虚拟网络数据在物理网络上的通信。虚拟网络的信息主要通过ETCD进行查询与互通。总体来说Flannel可以解决虚拟设备占用物理网络设备数的问题,但依然无法满足大规模部署要求。


总结来说我们在搭建大规模docker虚拟网络的时候遇到了这些问题:网络没有隔离,网关性能不足,物理网络无法承载虚拟网络冲击,没有与宿主网络配置隔离。结合内部需求,总结了几点对网络的要求:


首先是不需要改造现有物理网络,其次是需要高性能网关,并且可以扩展。可以支持VPC,支持IP漂移,支持docker与私有云网络混布。


分享到:0
  • andior排行
  • IOS排行
热点新闻更多>>