AWS:解析精品游戲瘋狂圈粉背后的運(yùn)維法寶

來(lái)源:知乎
作者:AWS云計(jì)算
時(shí)間:2020-08-03
2814
在Camel Games,沒(méi)有專(zhuān)門(mén)的DBA。游戲核心業(yè)務(wù)運(yùn)行在200多組Amazon Aurora集群上,平均延時(shí)穩(wěn)定保持在10毫秒左右,新業(yè)務(wù)上線可在幾分鐘內(nèi)輕松完成。

“在Camel Games,沒(méi)有專(zhuān)門(mén)的DBA。游戲核心業(yè)務(wù)運(yùn)行在200多組Amazon Aurora集群上,平均延時(shí)穩(wěn)定保持在10毫秒左右,新業(yè)務(wù)上線可在幾分鐘內(nèi)輕松完成。開(kāi)發(fā)運(yùn)維團(tuán)隊(duì)可以從大量基礎(chǔ)的工作中解放出來(lái),充分與業(yè)務(wù)結(jié)合,專(zhuān)注創(chuàng)新?!?/span>

——張華北京殼木軟件有限責(zé)任公司服務(wù)器主管

關(guān)于Camel Games

北京殼木軟件有限責(zé)任公司(以下簡(jiǎn)稱(chēng)“Camel Games”)成立于2009年8月,是一家具有世界一流開(kāi)發(fā)、運(yùn)營(yíng)水準(zhǔn)的手機(jī)網(wǎng)游公司。2011年獲得了Google Play官方頒發(fā)的Top Developer(頂尖開(kāi)發(fā)者),是中國(guó)大陸地區(qū)第一家獲此殊榮的手機(jī)游戲開(kāi)發(fā)團(tuán)隊(duì)。2013年,Camel Games被神州泰岳收購(gòu),成為創(chuàng)業(yè)板上市公司神州泰岳的全資子公司。

Camel Games于2011年底推出的《小小帝國(guó)》,是國(guó)內(nèi)游戲團(tuán)隊(duì)早期出海的代表作品,也是在海外達(dá)到千萬(wàn)月流水的手游產(chǎn)品之一。Camel Games于2016年推出《War and Order》,截至目前,該款游戲全球累積總流水已超過(guò)20億元。

用“精品游戲”瘋狂圈粉,重度用戶(hù)“養(yǎng)成記”

在業(yè)界,Camel Games一直強(qiáng)調(diào)做“精品游戲”,主要開(kāi)發(fā)的是“重度長(zhǎng)生命周期”游戲。目前,Camel Games運(yùn)營(yíng)時(shí)間最長(zhǎng)的游戲已服務(wù)全球玩家近八年。從一開(kāi)始,Camel Games就借助Amazon Elastic Compute Cloud(Amazon EC2)、Amazon Elastic Block Store(Amazon EBS)、Amazon CloudFront、Amazon Simple Storage Service(Amazon S3)等成熟的云服務(wù)來(lái)擴(kuò)充服務(wù)器容量,為用戶(hù)提供穩(wěn)定、高質(zhì)量的游戲體驗(yàn)。無(wú)論玩家位于美國(guó)、歐洲、亞洲、南美洲還是大洋洲,都能通過(guò)最近的節(jié)點(diǎn)高效傳輸數(shù)據(jù),低延遲地獲得游戲更新和內(nèi)容。

從最初在Amazon EC2上搭建MySQL,到2016年新款游戲上線時(shí)直接使用Amazon Aurora數(shù)據(jù)庫(kù),AWS云伴隨Camel Games的發(fā)展一路走來(lái)。未來(lái),Camel Games計(jì)劃將所有游戲業(yè)務(wù)都遷移至Aurora。

目前,僅面向《War and Order》這款核心游戲,Camel Games就在AWS上部署200組Aurora集群,其中170組供游戲業(yè)務(wù)使用(采用主從方式),另外70多臺(tái)實(shí)例負(fù)責(zé)處理日志數(shù)據(jù),總數(shù)據(jù)量約200TB。另外一款頗受玩家追捧的游戲《Age of Z》則通過(guò)33組Aurora集群支撐,同樣采用主從方式部署。

圖1是Camel Games的系統(tǒng)架構(gòu)圖,所使用的AWS服務(wù)包括Amazon EC2、Aurora、Amazon EBS、Amazon S3、Elastic Load Balancing、Amazon CloudWatch、CloudFront、Amazon Route 53等。

v2-04d601ebfd2807709b8965beb5cace75_720w.jpg

使用AWS的體驗(yàn)就是——穩(wěn)定、高效、安全

作為一家170人規(guī)模的游戲公司,Camel Games僅用2-3名非專(zhuān)職運(yùn)維人員就管理了500-600臺(tái)Amazon EC2服務(wù)器以及200多組Aurora數(shù)據(jù)庫(kù)。“運(yùn)維管理實(shí)踐中,我們更多考慮的是如何更好地服務(wù)核心業(yè)務(wù)、輔助決策。”Camel Games服務(wù)器主管張華表示,“Camel Games甚至沒(méi)有專(zhuān)門(mén)的DBA,數(shù)據(jù)庫(kù)一旦完成正確配置,團(tuán)隊(duì)甚至多半年時(shí)間都無(wú)需關(guān)注它”。

由于游戲服務(wù)器采用主備形式,當(dāng)一個(gè)實(shí)例發(fā)生意外故障時(shí),系統(tǒng)可自動(dòng)做主備切換,最小化停機(jī)時(shí)間。當(dāng)正確設(shè)置時(shí),應(yīng)用層無(wú)需重啟,平臺(tái)可在30秒左右自動(dòng)接管服務(wù),無(wú)縫實(shí)現(xiàn)故障轉(zhuǎn)移。同時(shí),Aurora支持自動(dòng)備份和時(shí)間點(diǎn)恢復(fù),可在極端事件發(fā)生時(shí)確保數(shù)據(jù)安全,將業(yè)務(wù)影響和損失降至最低。

性能表現(xiàn)是游戲玩家最重視的關(guān)鍵體驗(yàn)之一,實(shí)際應(yīng)用中與游戲模型、代碼優(yōu)化程度等高度關(guān)聯(lián)。Aurora提供多種配置選項(xiàng),Camel Games可根據(jù)自身業(yè)務(wù)實(shí)際來(lái)高效匹配資源。當(dāng)游戲版本更新、推廣活動(dòng)等峰值來(lái)臨時(shí),后臺(tái)僅需通過(guò)簡(jiǎn)單的“升級(jí)+配置”即可輕松搞定,整個(gè)過(guò)程高度自動(dòng)化。通過(guò)Aurora,新業(yè)務(wù)上線只需點(diǎn)擊幾次鼠標(biāo),整個(gè)過(guò)程不過(guò)幾分鐘。

目前Camel Games運(yùn)行在AWS上的單個(gè)Aurora集群平均業(yè)務(wù)并發(fā)量達(dá)幾千次/秒,玩家數(shù)據(jù)讀/寫(xiě),日志數(shù)據(jù)以寫(xiě)為主。峰值可達(dá)兩萬(wàn)多次讀/秒,寫(xiě)則有三、四千次/秒。據(jù)張華介紹,經(jīng)歷最長(zhǎng)的一次峰值持續(xù)了幾個(gè)小時(shí),而Aurora數(shù)據(jù)庫(kù)延時(shí)穩(wěn)定保持在10毫秒左右,表現(xiàn)令人滿(mǎn)意。其中,數(shù)據(jù)庫(kù)中最大的表是用戶(hù)表,達(dá)千萬(wàn)量級(jí),讀寫(xiě)比例約為5:1。

Amazon Aurora的“隱藏功能”和待發(fā)掘的云平臺(tái)超能力

多年的AWS使用經(jīng)歷,讓Camel Games團(tuán)隊(duì)積累了豐富的云上業(yè)務(wù)經(jīng)驗(yàn)?!斑\(yùn)維開(kāi)發(fā)和管理更多是從業(yè)務(wù)層的角度出發(fā),比如更關(guān)注代碼的優(yōu)化程度,如何最大程度地挖掘?qū)嵗阅堋!睆埲A坦言,“通常在業(yè)務(wù)上新時(shí),例如一個(gè)新版本的內(nèi)容需要配置多大的數(shù)據(jù)庫(kù)等類(lèi)似問(wèn)題,團(tuán)隊(duì)內(nèi)部有經(jīng)驗(yàn)公式,只需按照預(yù)先的準(zhǔn)備直接開(kāi)新實(shí)例,運(yùn)維管理的角度并不需要特別關(guān)注這些事情。包括CloudWatch等運(yùn)維監(jiān)控工具,實(shí)際上都很少看,系統(tǒng)運(yùn)行基本上都很穩(wěn)定。

張華介紹,實(shí)際應(yīng)用中,團(tuán)隊(duì)更多的是使用“Performance Insights”功能來(lái)監(jiān)控Aurora集群上的“Top SQL”。根據(jù)“TOP SQL”,運(yùn)維團(tuán)隊(duì)可以輕松定位對(duì)系統(tǒng)消耗資源較多、明顯異常的SQL語(yǔ)句。以此為初始依據(jù),再根據(jù)經(jīng)驗(yàn)做判斷和優(yōu)化,后續(xù)效果反饋則可通過(guò)CloudWatch第一時(shí)間以圖形化的方式直觀呈現(xiàn)。實(shí)際應(yīng)用中,Camel Games團(tuán)隊(duì)認(rèn)為Aurora的這項(xiàng)特性很實(shí)用,尤其對(duì)非DBA專(zhuān)業(yè)出身的用戶(hù)非常友好,有助于迅速發(fā)現(xiàn)和解決問(wèn)題。

通過(guò)這種方法,特別在新游戲上線時(shí),運(yùn)維團(tuán)隊(duì)可以開(kāi)展相應(yīng)監(jiān)控和優(yōu)化工作,在代碼本身經(jīng)過(guò)迭代的情況下,團(tuán)隊(duì)就能對(duì)平臺(tái)的業(yè)務(wù)支撐能力做到“心中有數(shù)”。

Aurora數(shù)據(jù)庫(kù)的存儲(chǔ)空間可以根據(jù)數(shù)據(jù)量的增加而自動(dòng)增長(zhǎng)的特性令人印象深刻。張華說(shuō),有了這個(gè)功能,就不需要操心數(shù)據(jù)庫(kù)的存儲(chǔ)擴(kuò)容問(wèn)題。自動(dòng)增加存儲(chǔ)空間時(shí)不需要停機(jī),也不會(huì)影響性能。

目前,Camel Games的數(shù)據(jù)庫(kù)仍集中在一個(gè)區(qū)域,如何面向全球不同地區(qū)用戶(hù)提供應(yīng)用加速,將不同區(qū)域的訪問(wèn)延時(shí)控制在可控范圍內(nèi)并保證數(shù)據(jù)同步是Camel Games后續(xù)考慮的重點(diǎn)方向。面向業(yè)務(wù),未來(lái)則考慮進(jìn)一步將Amazon S3和Amazon Athena數(shù)據(jù)庫(kù)查詢(xún)相結(jié)合,針對(duì)日志數(shù)據(jù)做大數(shù)據(jù)分析,更好地輔助運(yùn)營(yíng)決策。

獲得的收益

對(duì)于在AWS上的應(yīng)用收益,張華總結(jié)了幾點(diǎn)獨(dú)特的感受:

一是平臺(tái)功能豐富,系統(tǒng)穩(wěn)定。包括大量使用文檔和教學(xué)內(nèi)容,非常方便技術(shù)人員了解和學(xué)習(xí)?!癆WS的策略更多考慮的是將底層的事情用平臺(tái)包裝,做成一個(gè)非常容易使用的產(chǎn)品,Aurora就是其中的代表。伴隨Camel Games自身業(yè)務(wù)的成長(zhǎng)和使用需求,AWS總是能在最需要的時(shí)候提供可行方案。”

二是使用越深入,平臺(tái)上積累的競(jìng)爭(zhēng)優(yōu)勢(shì)越多。張華認(rèn)為,某種程度上,游戲公司的業(yè)務(wù)特點(diǎn)決定了它容易對(duì)云平臺(tái)形成‘路徑依賴(lài)’。Aurora是非常優(yōu)秀的數(shù)據(jù)庫(kù),包含很多使用過(guò)程中可挖掘的特色功能。使用越多,感受越深。相比較傳統(tǒng)數(shù)據(jù)庫(kù),Aurora大大減少了數(shù)據(jù)庫(kù)運(yùn)維的工作量,讓技術(shù)人員可以專(zhuān)注于應(yīng)用開(kāi)發(fā)和業(yè)務(wù)創(chuàng)新。

三是成本可控,經(jīng)濟(jì)效益佳。與花費(fèi)在游戲運(yùn)營(yíng)和推廣上的支出相比,Camel Games在云平臺(tái)上的投入占整體營(yíng)收的比例較小。實(shí)際上,業(yè)務(wù)本身的穩(wěn)定性和適用性是決定性因素,Camel Games團(tuán)隊(duì)更多會(huì)從TCO的角度考慮問(wèn)題。所謂“開(kāi)源節(jié)流”,開(kāi)源更重要。從平臺(tái)本身著手,做成本控制和優(yōu)化,未來(lái)還有很大的進(jìn)步空間。而在擴(kuò)展市場(chǎng)時(shí),穩(wěn)定性顯然比單純關(guān)注成本更重要。

Camel Games生于云,長(zhǎng)于云,一步一個(gè)腳印,與AWS相伴一路走來(lái)。在服務(wù)全球游戲玩家,培養(yǎng)大量“重度用戶(hù)”的過(guò)程中,Camel Games也在AWS云上積累了豐富的實(shí)踐經(jīng)驗(yàn)。共同成長(zhǎng),更多歡笑。

原文鏈接:點(diǎn)擊前往 >
版權(quán)說(shuō)明:本文內(nèi)容來(lái)自于知乎,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個(gè)人觀點(diǎn),不代表快出海對(duì)觀點(diǎn)贊同或支持。如有侵權(quán),請(qǐng)聯(lián)系管理員(zzx@kchuhai.com)刪除!
個(gè)人VIP