以“工匠”的精神對待每一個(gè)版本

0 評論 4056 瀏覽 0 收藏 9 分鐘
 

工?匠們喜歡不斷雕琢自己的產(chǎn)品,不斷改善自己的工藝,享受著產(chǎn)品在雙手中升華的過程。工匠們對細(xì)節(jié)有很高要求,追求完美和極致,對精品有著執(zhí)著的堅(jiān)持和追求,把品質(zhì)從99%提高到99.99%,其利雖微,卻長久造福于世。

“工匠”精神具有精益求精、嚴(yán)謹(jǐn)、一絲不茍、耐心、專注、堅(jiān)持、專業(yè)、敬業(yè)。

游戲每一次版本更新對于玩家來說都是非常值得期待的,版本準(zhǔn)備、版本驗(yàn)證、版本更新、版本更新后的每一刻,不只是體現(xiàn)游戲開發(fā)、策劃者的獨(dú)具匠心,版本如何順利發(fā)布給玩家,并且助力玩家完成更新,都凝聚著游戲業(yè)務(wù)運(yùn)維人的”工匠“精神。

日常版本

QQ炫舞、DNF分別為MUG、ACT類游戲,前者一個(gè)月一個(gè)版本,后者可以達(dá)到一月八個(gè)版本。

QQ炫舞每個(gè)月的版本只有一個(gè),所以經(jīng)常會伴隨著架構(gòu)調(diào)整、新的系統(tǒng)接入、功能、活動開放,以及運(yùn)維側(cè)遺留下來的環(huán)境類變更。因此長時(shí)間的發(fā)布準(zhǔn)備,詳細(xì)的checklist是每次發(fā)布前的例行工作。

由于版本發(fā)布還伴隨了較多的變更,在老的流程下單次停機(jī)時(shí)長高達(dá)6小時(shí),較影響玩家體驗(yàn)。

為了壓縮每次的停機(jī)時(shí)長,運(yùn)維側(cè)會把很多工作都挪到發(fā)布準(zhǔn)備時(shí)間,保證運(yùn)維的發(fā)布操作時(shí)間控制在0.5小時(shí)之內(nèi);同時(shí)測試同事會加大灰度發(fā)布的測試覆蓋度,全服發(fā)布只需過基本功能即可,在此基礎(chǔ)上繼續(xù)增加測試人力;通過如上的一些努力,保障每月一次的發(fā)布控制在3小時(shí)左右。

DNF為動作類的MMOG游戲,需要不斷更新版本內(nèi)容以吸引玩家,由于游戲邏輯處理的不同,導(dǎo)致外掛較多。

在不斷更新游戲內(nèi)容及反外掛對抗功能的背景下,DNF的版本頻率達(dá)到了驚人的每月八次。任何一次的運(yùn)維失誤、或響應(yīng)不及時(shí)都會影響到最終外網(wǎng)版本的發(fā)布,為保障每次版本高效、高質(zhì)的更新測試服、體驗(yàn)服、及外網(wǎng)。

運(yùn)維側(cè)與韓方規(guī)范化了版本交付流程,通過這個(gè)規(guī)范實(shí)現(xiàn)標(biāo)準(zhǔn)的版本更新,與版本質(zhì)量跟蹤app;同時(shí)將標(biāo)準(zhǔn)化的版本更新作業(yè)交付一線同事操作,以減少運(yùn)維人力。

DNF版本更新app如下圖,填好參數(shù)后一鍵執(zhí)行更新:

運(yùn)維會對發(fā)布到現(xiàn)網(wǎng)的版本質(zhì)量進(jìn)行跟蹤、監(jiān)控,以便能及時(shí)發(fā)現(xiàn)現(xiàn)網(wǎng)問題并處理;同時(shí)可以根據(jù)帶寬使用、在線恢復(fù)趨勢等數(shù)據(jù)制定更好的發(fā)布策略,以優(yōu)化發(fā)布成本,提升玩家的體驗(yàn)。

如下為版本發(fā)布前后狀態(tài)對比(停服前30分鐘、起服后30分鐘、60分鐘3個(gè)點(diǎn)):在線趨勢(主要指標(biāo))

其他趨勢指標(biāo)

  • 1、程序負(fù)載
  • 2、程序穩(wěn)定性
  • 3、掉線量
  • 4、支付
  • 5、下載
  • 6、突發(fā)

通過上面可以看出,不同的業(yè)務(wù)版本側(cè)重點(diǎn)會有不同,運(yùn)維側(cè)要做的就是保持與開發(fā)商、項(xiàng)目同事的緊密溝通,共同優(yōu)化版本更新中遇到的問題(停機(jī)時(shí)長、更新頻率)。

大版本支撐

QQ炫舞為國內(nèi)代理游戲,其大版本主要集中在功能的橫向擴(kuò)展上,如不斷推出海灘社區(qū)、舞廳社區(qū)、KTV、視頻秀等功能,不斷豐富游戲的玩法。

這些版本需要進(jìn)行架構(gòu)調(diào)整、新的api接入;運(yùn)維側(cè)需要進(jìn)行機(jī)型選型、容量壓力評估、物理架構(gòu)的調(diào)整、監(jiān)控跟進(jìn)等等。

以炫舞視頻秀版本為例,闡述運(yùn)維在大版本做的支撐:

方案選型:炫舞是第一個(gè)做視頻秀的端游,沒有其他游戲可參考。當(dāng)時(shí)是參考了內(nèi)部幾個(gè)流媒體產(chǎn)品,最終確定視頻技術(shù)+流媒體CDN的方式實(shí)現(xiàn)。

架構(gòu)優(yōu)化:多點(diǎn)部署主播接入點(diǎn),從源頭保障視頻流的傳輸質(zhì)量。推動CDNProxy等關(guān)鍵模塊熱備實(shí)現(xiàn),并分物理機(jī)部署,在機(jī)器故障時(shí)保證關(guān)鍵功能可用。

成本:小流量模塊使用虛擬機(jī)。

體驗(yàn)監(jiān)控:監(jiān)控方面,運(yùn)維在產(chǎn)品前期就推動開發(fā)在客戶端、服務(wù)端進(jìn)行了詳細(xì)的日志記錄。如tqos日志實(shí)時(shí)監(jiān)控玩家、主播端的質(zhì)量;服務(wù)端的oss log實(shí)時(shí)分析玩家異常行為。通過監(jiān)控->優(yōu)化的閉環(huán)不斷推動玩家體驗(yàn)提升,大幅提升了視頻秀穩(wěn)定性,且投訴下降20%左右。

DNF主要在玩法的橫向與縱向擴(kuò)展上,如新的職業(yè)、轉(zhuǎn)職、覺醒內(nèi)容的添加,游戲決斗場改編、地下城改編,等級提升等方面。且大版本的內(nèi)容基本是從韓服版本直接拷貝過來進(jìn)行修改。相當(dāng)于服務(wù)端的程序基本是全新的,無論從性能,穩(wěn)定性,以及bug數(shù)量都會對運(yùn)營帶來很大的挑戰(zhàn)。同時(shí)超大的客戶端更新、黑盒的db工具變更也會對運(yùn)維帶來不少挑戰(zhàn)。一般會經(jīng)過十幾個(gè)版本的迭代測試才會上到現(xiàn)網(wǎng)。

下面以DNF創(chuàng)新世紀(jì)版本為例,介紹運(yùn)維支撐方案。

版本迭代:創(chuàng)新世紀(jì)版本約經(jīng)過20個(gè)子版本,50次的測試環(huán)境更新才上線到現(xiàn)網(wǎng)。這期間更新效率、質(zhì)量都需要得到保證。因此DNF運(yùn)維開發(fā)了測試環(huán)境更新app,將更新全流程打通以提升效率;并將更新內(nèi)容入庫,保障更新的準(zhǔn)確性。

超大客戶端更新

“DNF2013年發(fā)布的超大更新包,導(dǎo)致CDN帶寬翻倍,直接垮掉”。有了這次慘痛的教訓(xùn)之后,DNF是這樣更新超大包的。

  • 預(yù)下載
  • 拆分包,資源包拆分并且提前分發(fā)
  • 提升p2p率
  • 閹割版完整包提前外放
  • 網(wǎng)吧預(yù)推送,網(wǎng)吧用戶預(yù)下載無法觸達(dá),進(jìn)行網(wǎng)吧預(yù)推送。
版本停機(jī)時(shí)長

DNF大版本改動內(nèi)容很多,因此在服務(wù)端更新、db變更、測試上都需要花大量的時(shí)間,導(dǎo)致停服時(shí)間很長,從收入、口碑產(chǎn)品都有直接影響。一般大版本的db變更、測試時(shí)間會占到總時(shí)間的80%。我們在保障質(zhì)量、壓縮時(shí)間方面做了如下調(diào)整:

  • checklist評審,涉及完整性、回退方案、效率等方面。
  • DB變更提前在小型區(qū)、大型區(qū)、合服區(qū)的DR上進(jìn)行測試,保證每個(gè)區(qū)都能正常執(zhí)行。
  • DB變更執(zhí)行多并發(fā),并利用tmysql在線加字段等特性節(jié)省變更時(shí)長。
  • DB變更按數(shù)據(jù)量大小分兩批同時(shí)執(zhí)行,小數(shù)據(jù)量的大區(qū)即可先開區(qū)測試,待測試完成后,大數(shù)據(jù)量的大區(qū)也以起服并測試,這樣會充分利用測試時(shí)間。

下圖是14年大版本在優(yōu)化前后的時(shí)間對比:

轉(zhuǎn)自:騰訊大講堂

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 目前還沒評論,等你發(fā)揮!