文/肖凱
如果說将遊戲營運所需要的計算、存儲、網絡、人力等等都看做資源的話,那網絡絕對是遊戲營運的核心資源,因為獲得計算或者存儲資源的成本低,方式也很多,但是網絡資源,特别是優質網絡資源卻非常難得,特别是在國内,由于政策和各營運商網絡的限制,在國内優質的網絡資源不是到處都有的。而相對于對于傳統的網際網路應用,比如網頁通路等,延遲或者暫時中斷都不是太大的關系,重新加載即可。但是對于網遊特别是即時類網遊就不一樣了,幾十毫秒的延遲玩家就有可能就被對手爆頭,一秒鐘的中斷,頂級裝備就被别人搶走了。網絡品質,特别是網速,不僅僅決定着玩家在遊戲裡的生死,更有可能決定一款遊戲的命運,因為網絡極大的影響着使用者體驗。
我還記得幾年前玩網遊的時候,很多遊戲登入前先要選服:網通服、電信服或者是雙線服。之是以造成這個現象是由于曆史政策限制導緻,不同營運商之間的互聯互通不但成本高,而且速度慢,跨營運商的網絡品質極不穩定。是以很多遊戲為了有更好的使用者體驗和節省成本,按照營運商網絡分伺服器,這麼做确實可以保證網速,但問題來了,我們玩遊戲很多時候是和朋友們一起玩的,小夥伴們家裡的網絡可是各個營運商都有,設想下你在和小夥伴們組團打副本的時候,眼看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的經驗,這樣才能夠建構強大且穩定的服務。