游戏云间之二:网络环境问题
如果说将游戏运营所需要的计算、存储、网络、人力等等都看做资源的话,那网络绝对是游戏运营的核心资源,因为获得计算或者存储资源的成本低,方式也很多,但是网络资源,特别是优质网络资源却非常难得,特别是在国内,由于政策和各运营商网络的限制,在国内优质的网络资源不是到处都有的。而相对于对于传统的互联网应用,比如网页访问等,延迟或者暂时中断都不是太大的关系,重新加载即可。但是对于网游特别是即时类网游就不一样了,几十毫秒的延迟玩家就有可能就被对手爆头,一秒钟的中断,顶级装备就被别人抢走了。网络质量,特别是网速,不仅仅决定着玩家在游戏里的生死,更有可能决定一款游戏的命运,因为网络极大的影响着用户体验。
我还记得几年前玩网游的时候,很多游戏登录前先要选服:网通服、电信服或者是双线服。之所以造成这个现象是由于历史政策限制导致,不同运营商之间的互联互通不但成本高,而且速度慢,跨运营商的网络质量极不稳定。所以很多游戏为了有更好的用户体验和节省成本,按照运营商网络分服务器,这么做确实可以保证网速,但问题来了,我们玩游戏很多时候是和朋友们一起玩的,小伙伴们家里的网络可是各个运营商都有,设想下你在和小伙伴们组团打副本的时候,眼看boss要挂了,结果你卡了,导致团灭,除了无奈你还能说什么。
所以说一款游戏成也网络败也网络一点都不夸张,很多游戏,不需要太强的CPU,不需要太大的内存,I/O要求也不高,但是网络质量必须好,只要是在线网游,无论即时还是回合制,网络质量都是第一要素。既然网络对于游戏这么重要,那么我们就来讲讲在云时代的网络和以前有什么不一样。以前游戏硬件和网络的管理无非两种形式:有实力的,自建机房,拉专线,但这种很少很少,不但要有资质,还要有强大的资金力量,除了个别高富帅公司有实力做么做,绝大部分公司都是不现实的。那么另一种最常见的就是IDC托管方式,绝大部分公司都是采用的这种方式。
先说说网速,现在的IDC大部分的都是双线(电信、联通),网速很多时候也跟IDC的规模有关系,大点的IDC由于带宽资源充足,网速还不错,而中小IDC由于成本和规模的原因,往往都是某一个运营商的接入速度很好,另一个就差强人意了。但是只是双线还是不够的,国内还有教育网等其他网络,现在也有很多IDC号称是BGP网络,其实真正的靠谱BGP网络很少,并且也很贵。说道这里顺便简单介绍下BGP:BGP(Border Gateway Protocol, 边界网关协议)是用来连接Internet上的独立系统的路由选择协议。BGP主要用于互联网AS( 自治系统)之间的互联,BGP的最主要功能在于控制 路由的传播和选择最好的路由。中国网通 、中国电信、中国铁通和一些大的民营IDC运营商都具有AS号,全国各大 网络运营商多数都是通过BGP协议与自身的AS号来实现多线互联的。使用此方案来实现多线路互联,IDC需要在CNNIC( 中国互联网信息中心)或APNIC(亚太 网络信息中心)和AS号,然后通过BGP协议将此段IP地址广播到其它的网络运营商的网络中。使用BGP协议互联后,网络运营商的所有骨干路 由设备将会判断到IDC机房IP段的最佳路由,以保证不同网络运营商用户的高速访问。 从这段介绍就能看出来,要想实现BGP网络也是有很高的门槛,而且就算是实现了BGP网络,出口带宽和稳定性也是需要比较大的投入的才能保证的。但是网游由于应用的特殊性和用户群体的广泛性,在不考虑成本的情况下BGP网路是首选。
说到成本,IDC托管费用的大头就是网络费用,如果是单线的,会便宜很多,而双线的则要贵很多,如果带宽和速度要求高,成本会高的吓人,如果是BGP网络,带宽方面的成本就更大,不少IDC托管的费用都是按带宽算的,其他费用甚至可以直接包含在带宽费用里,所以可想而知,有可能你辛苦一年,最后发现赚来的钱大部分都花在带宽上了。
再来说说管理,IDC由于各自实力和管理水平的差距,网络或者机房的稳定性参差不齐,好一点的每年故障次数较少,而不好的三天两头断网、出故障,甚至停电了备用电源失灵这种事也常有发生。还有更离奇的,某公司在IDC托管的机器某天突然连不上了,最后查到原因,是因为扫地大妈不小心把机柜的电源线踢掉了。这绝不对大妈的责任,而是数据中心管理及运作规范的缺失。很遗憾,国内太多数据中心真的都还是停留在机房的层次,仅仅是放机器的房间,管理不够规范,更不要说信息安全等等,经常由于同机房别人的机器被攻击,导正整个IDC出口网络瘫痪。
最后再说说灵活性,IDC机房的带宽很多时候提前谈好价钱和折扣,一般都是半年或者一年起,你想随意增减带宽是没那么方便的。而如今的移动互联网时代,网络游戏的用户量爆发经常是很突然的,如果不能灵活的控制带宽,将很难保证好的用户体验。当然你可以按照最高峰访问量预先配置带宽,但是成本方面的增加将会是非常可观的。
那么在云时代呢,这些传统IDC托管所面临的网络问题会不会有什么不一样?如果一个云服务提供商告诉你他的网络有双线什么的,那基本可以不考虑了。因为在云时代,BGP网络是标配,既然是云,意味着用户有可能来自全国或者全球各地,如果没有完善的网络条件,云服务也只不过是空谈。BGP网络带来的另一个好处是使用起来非常方便,你再也不用为同一台服务器配置多个IP来连接不用的运营商网络,只需一个IP就能保证所有的网络连通。当然,要达到这些条件对云服务提供商的要求就非常高了,首先云服务提供商一定要规模够大,因为规模大才有可能拿到优质网络资源,保证带宽质量,其次要有很强的技术实力,必须有一个非常强大的技术和运维团队来管理成千上万台物理机的集群,光有这些还不够,其数据中心还必须在国内的主要的大城市都有,确保全国范围的覆盖,再好一点的最好有海外节点,比如香港,东南亚等。现在国内的不少游戏公司已经冲出中国,走向亚洲了,所以一个好的云服务提供商必须也具备一定数量的海外数据节点。而成本方面,正式由于云服务提供商的规模效应,才有可能协调国内的各个运营商,以较低的成本拿到优质网络资源,所以成本反而更低。现在很多云服务提供商的带宽价格都是非常诱人的。
当然最最重要的还是弹性,你不用再去判断游戏上线后需要多少流量和带宽,事实是,在移动互联网时代,你也很难预测。既然很难预测,那就不需要预测,在云上,带宽也不过是可以随意调配的资源的一种。由于带宽调整的灵活性,你可以在需要的时候增加带宽,不需要的时候降低带宽。比如在发动城战的活动期间,临时增加带宽,亦或是在每天开通副本的7-9点间,临时增加带宽,其余时间则降低带宽。这样做不但能够保证高峰时期的网络质量,让用户任何时候都觉得很快,更重要的是按需使用,按使用量付费,把每一分钱都花在刀刃上。
而说到管理,相信云服务提供商都将其机房管理规范和要求,以及SLA公布和签署在合同里。而管理只能说是因公司而异,因为管理需要的不仅仅是流程、规范,更需要技术实力、特别是曾经运营过大型IDC的经验,这样才能够构建强大且稳定的服务。