做者 | 賈寧宇
來源|阿里巴巴雲原生公衆號數據庫
在米哈遊的辦公區,有一間會議室,專門留給了阿里雲工程師。安全
今年,是這家二次元文化公司創立的第九年,米哈遊和阿里雲的交情,也有八年了。服務器
米哈遊總裁劉偉還記得多年前,王堅博士帶着八位公司高管和負責團隊抵達米哈遊辦公室時的情景。那天,在米哈遊租用的小小的辦公區中,只有 30 多個工位,甚至沒有一間會議室能同時容納這十來名訪客。網絡
那時,米哈遊創立不久,阿里雲也還在對外服務的起步階段,兩個初出茅廬的小兄弟機緣巧合走到了一塊兒,彼此摸索着前行。架構
那一天,王堅博士講了這樣一段話:「若是客戶坐着飛機在天上飛,咱們只在地上看,是很容易出故障的。要作,咱們就和客戶一塊兒在天上飛。」併發
臨走時,王堅博士將本身的手機號寫給了劉偉。他說,有任何問題,直接打電話給我。運維
許多年過去了,所幸,這樣的一通電話從未撥出去。而阿里巴巴核心系統也早已實現 100% 上雲,驗證了那句「和客戶坐在同一架飛機上」。ide
時間一晃而過。2020 年 9 月,在米哈遊與阿里雲並行的第八年,這家二次元文化公司上線了最新的表明做《原神》,全球五大區服徹底承載在阿里雲上。高併發
在這一年年末,《原神》像遊戲行業的一匹黑馬,熱度節節上升。性能
11 月 30 日,谷歌將 Google Play 2020 年度最佳遊戲頒發給了《原神》;僅一天後,蘋果又將 App Store 2020 iPhone 年度遊戲交給了《原神》。
這多是中國遊戲首次得到「雙冠」殊榮。
在這一年,阿里雲也早已從當年的小兄弟成長爲雲計算行業的領軍者,成爲許多行業的數字化底座,也爲許多中國遊戲企業提供服務。
回到 2012 年,米哈遊剛剛作出二次元遊戲《崩壞學園》。
那一年,手遊市場還處於起步階段,動漫遊戲更是開發者寥寥,環顧 App Store,沒有幾個成型的手機動漫遊戲。但在米哈遊內心,將來的遊戲市場,必定有國產動漫的一席之地。
巧合的是,雲計算的行業階段和動漫遊戲有些相似。做爲一個新生技術,中國的雲計算行業起步不久,但米哈遊和阿里雲都有着一個關於將來的夢想。
沒有人知道將來如何抵達,「相信」就是惟一的路徑。
傳統IT時代,遊戲公司的作法是本身購買服務器、自建機房、配置運維人員。這樣斥巨資才能啓動的重模式,將許多有想法的創業者擋在了遊戲行業的門外,在那個時期,研發遊戲幾乎只能是大公司的專利。
雲計算帶來了一個新機會——跳過一切前期的 IT 設施投入,直接在網頁上點點鼠標,就能調用雲算力。這幾乎是爲米哈遊這樣的創業團隊量身定製的完美產品。
米哈遊創始團隊早期合影
「崩 1」上線時,使用了阿里雲的兩臺雲服務器,小小的嘗試,開啓了米哈遊的「雲上之旅」。
回顧起來,米哈遊能夠說是一代互聯網創業企業的表明。誕生在雲端,全部業務都在雲上,率先感覺着雲計算高彈性、高併發、低成本等種種特點,堪稱「雲原生企業」。
也正是這一代「雲原生企業」的快速成長,推進着中國雲計算的發展與普及。
2016 年,米哈游上線了第三款遊戲:《崩壞 3》。但在此時,米哈遊仍只有兩名運維人員——在傳統自建服務器機房的時代,這幾乎是不可想象的。
做爲早期雲計算的「吃螃蟹」用戶,米哈遊踩過坑。
「問題是很難避免的,關鍵是能不能解決問題。」米哈遊的技術負責人劉霄回憶說。
一年年過去,米哈遊也漸漸成長起來,從三我的到幾十人,再到幾百、上千人,再也不是那個沒有會議室的小團隊。
米哈遊也爲阿里雲工程師們專門留了一間會議室,對他們說,「隨時來、隨時用」。
起初,米哈遊規模尚小,在拓展海外市場的過程當中也遇到了一些波折。
「所幸當初規模小,用戶不算多,這件事的負面影響還能控制。若是是在「崩 3」、《原神》這樣規模的遊戲上,那損失就不可估量了。」回想起來,劉霄還有些後怕,「因此應該說,對於大部分遊戲公司,雲就是最好的選擇,沒有之一。」
2016 年,米哈遊正式開啓全面「出海」。在海外服務區,《崩壞 3》最初選擇了一家海外雲服務商,卻遭遇了幾回***的 DDoS ***,更有一次甚至影響用戶正常訪問。
這是一種很是惡意的網絡***方法:***在短期內向服務器發起大量請求,形成網絡擁塞,致使正經常使用戶沒法訪問。
舉個更形象的例子,好比一家容納 100 人的餐廳開業了,隔壁餐廳看着不高興,僱了 150 個小流氓涌入這家餐廳,光坐着不吃飯,把全部空間佔滿了。結果,想來吃飯的普通客人都進不來。
爲了防護***,米哈遊還曾購買了額外的安全防禦服務,因爲技術支持和溝通效率問題,情況沒有及時獲得改善。
苦惱中,米哈遊想起了阿里雲,與阿里雲工程師們合計一番,想出了一個方法——將玩家請求先經過阿里雲高防 IP,通過流量清洗後,再轉回原機房,從而抵擋了上百 GB 的 DDoS ***。
困擾米哈遊許久的問題,一舉就被解決。
時間已經走到了 2017 年。通過幾年努力,阿里雲在全球的基礎設施也越建越多,在那一年末,阿里雲在全球擁有 17 個區域、53 個可用區,遍及亞、歐、美各地。
對於米哈游來講,此時此刻,應該是將「崩 3」所有遷至阿里雲的最佳時機了。
後來,在籌劃《原神》時,米哈遊沒有再猶豫,《原神》的全球資源,所有直接上阿里雲。截至目前,曾經遭遇的海外******,未在《原神》上出現過。
《原神》,是米哈遊和阿里雲共同面臨的一次巨大挑戰。
《原神》的規劃有多宏偉?這不只是一款開放世界遊戲——意味着龐大的地圖和人物畫面、複雜的關卡設計和故事情節。更有難度的是,米哈遊想作一款多平臺、全球同步公測的遊戲,也就是 PS四、iOS、Android、PC 等全部遊戲平臺,和全球五大服務區同時開服、同時上線,相同服務區內數據互通、無縫銜接。
例如在手機上玩《原神》,切換到電腦上,玩法和進度均可以無縫銜接。
並且,爲了更好的聯機遊戲體驗,米哈遊採起的是「大通服」。
大部分遊戲公司會採用「分服」的方式,一個區域內有不少個服務器,玩家達到必定數量後再增長服務器。但「通服」是將一個大區的全部用戶都放在同一個服務器集羣上,玩家的在線數驟增。
也就是說,等到《原神》上線的那一天,全球、全服的用戶一塊兒涌入,一時的 PCU(最高在線玩家人數)可能會遠遠超出平常預估。
若是米哈遊能設計出這樣一款產品,那麼,面對這樣高併發、高性能、高彈性的技術需求,阿里雲能支持嗎?
有些人感到忐忑,可是米哈遊一如既往地選擇了阿里雲。這種信任源自於雙方多年的合做。
米哈遊對阿里雲太熟了,這些年,他們看到了阿里雲支撐着淘寶天貓度過了一次次 雙11,每年,阿里雲支撐的計算峯值都會再高一些。
「雖然咱們不是電商,但遊戲和技術對於高併發的需求很是類似,從 雙11 來看,咱們相信阿里雲的技術能力是足夠的。」
他們也看到了阿里雲在快速地進步。2017 年,阿里雲上線了自研數據庫 PolarDB,可以提供分鐘級的配置升降級、秒級的故障恢復、全局數據一致性和數據備份容災服務。
對於米哈游來講,本來在使用老式的數據庫時,備份數據耗時幾個小時,遊戲不得不停服一個多小時;而在 PolarDB 上,備份工做可以被縮短至秒級,大大減小了數據備份的耗時,提高了版本更新效率。
2020 年 7 月,《原神》同時在 PS四、iOS、Android、PC 平臺開啓最終內測,進入了衝刺階段。
阿里雲的工程師們又來到了那間熟悉的會議室。在最後衝刺的這兩個月中,他們再次成爲這裏的常駐者,「把《原神》看成阿里本身的項目來作」。
阿里雲多年累積的能力,成爲《原神》宏大設想實現的技術基礎。
好比,被工程師們稱做「一套架構,全球部署」的資源保障能力。簡單說,在全球不一樣的服務節點上,阿里雲從基礎層到數據庫的一套架構產品,包括雲服務器、網絡資源、存儲、安全、數據庫等等,都採用了同一套架構,提供相同的性能體驗。
這爲《原神》「全球同時開服」的需求提供了基礎保障,意味着米哈遊在全球也只須要搭建一套架構,而不須要每到一個服務區就因地制宜地改一次架構。
同時,相同的性能,確保了全球五大區可以給予玩家們統一的遊戲體驗,不會形成「某些功能只有特定區域有,另外一些區域缺失」的狀況。
再好比,PolarDB 在知足《原神》高性能遊戲數據庫需求的同時,又憑藉着完善的產品封裝形態,下降了米哈遊在 IT 運維上的投入,可讓所有人馬專一在遊戲自己。「咱們就專心作遊戲上的設計,這些基礎的 IT 工做,基本都交給阿里雲了。」劉霄總結說。
這是阿里雲在遊戲領域最大的一次全面實戰。《原神》對阿里雲技術的一些需求,即便已在不一樣客戶、不一樣領域實踐過,但這樣一次性挑戰全部高難度動做的項目,仍是第一次。
從全球部署和預定量來看,上線後,《原神》將成爲全球在雲上規模最大的遊戲——幾個月後,這成爲一個事實。
因此,連阿里雲熟悉的「熱遷移」,在《原神》上都要進一步升級。
熱遷移,意爲將整個虛擬機的運行狀態完整保存下來,同時快速恢復到原有或其餘硬件平臺上,同時,用戶在使用層面不會察覺到任何差別。
通俗點說,這有點相似於行駛在高速公路上的汽車,發動機出現報警,須要不停車完成更換。
若是說「換汽車發動機」是通常狀態,那麼在《原神》上,就是一次給空中的超大型飛機換髮動機的過程。並且,因爲遊戲對穩定性的極高要求,更換過程當中,「飛機」不能有絲毫的抖動和偏移。
需求從米哈遊的會議室裏傳遞迴阿里雲的飛天園區,從遊戲業務傳遞到虛擬化業務,不一樣部門的工程師聚在一塊兒想方法,摸索出一套經過智能運維繫統對底層性能進行調整,實如今超高 QPS、高 CPU 和內存負載場景下的無損「AI 熱遷移」方法。
「AI 熱遷移」應用在《原神》上,迄今爲止,效果很是明顯。
最後兩個月中,《原神》的預定量節節攀升,對服務器的需求也愈來愈高。終於,在服務器完成了幾十次擴容並連夜進行了壓力測試後,工程師們感受到,此次,成了!
9 月 28 日,阿里雲團隊在提瓦特會議室
9 月 28 日,《原神》全球同步公測開啓,10 點,正式上線。
那間會議室裏,阿里雲的 20 多名工程師緊盯着大屏上的各個指數,一個又一個峯值出現。
最終,PCU 峯值達到了某一個數值,高於全部人的預期,但云穩穩扛住了壓力。就像以前已經進行過的無數次壓測同樣,順利,平靜。
門外,貼着這間會議室的名字:提瓦特。
在提瓦特大陸上,被神選中的人將被授予「神之眼」,這些人被稱爲——原神。