谷歌工程師:上線第一天,《Pokémon GO》的服務(wù)器崩潰是不可避免的

盧克·斯通目睹過(guò)無(wú)數(shù)項(xiàng)目從零發(fā)展到鼎盛,但卻從未見(jiàn)過(guò)《Pokémon GO》這樣的案例。

編輯周思沖2016年09月30日 15時(shí)04分

近日,谷歌工程師盧克·斯通(Luke Stone)撰文描述了《Pokémon GO》驚心動(dòng)魄的上線第一天。他負(fù)責(zé)過(guò)無(wú)數(shù)大項(xiàng)目的上線與維護(hù),卻從未遇見(jiàn)過(guò)《Pokémon GO》這樣的案例。

原文極其專(zhuān)業(yè),“驚心動(dòng)魄”也是通過(guò)各種術(shù)語(yǔ)表達(dá)出來(lái)的。文中最直觀的恐怕是下面的這張圖表。

預(yù)期和實(shí)際數(shù)據(jù)間的驚人差距
預(yù)期和實(shí)際數(shù)據(jù)間的驚人差距

最下方是Niantic預(yù)估的數(shù)據(jù)(橙線)?!禤okémon GO》的服務(wù)器架構(gòu)在谷歌云上,而谷歌的工程師在評(píng)估了《Pokémon GO》之后,謹(jǐn)慎地設(shè)計(jì)了緊急狀況的應(yīng)對(duì)方案,并設(shè)定了可能出現(xiàn)的最糟糕負(fù)載情況(紅線)。然后就是無(wú)情的事實(shí)——綠線。盧克在事后評(píng)估中發(fā)現(xiàn),《Pokémon GO》的上線首日服務(wù)器負(fù)載超過(guò)了Niantic預(yù)期的五十倍,超過(guò)了最壞預(yù)期的十倍以上。

當(dāng)然,這終究是一個(gè)“敵屌我贏”的故事。

根據(jù)盧克的描述,谷歌同Niantic間達(dá)成了某種默契(畢竟曾經(jīng)是一家人):谷歌云團(tuán)隊(duì)在《Pokémon GO》項(xiàng)目上采用了全新的溝通方式,“客戶可靠性工程”(Customer Reliability Engineering,簡(jiǎn)稱CRE)。盧克沒(méi)有透露CRE的具體情況,總之谷歌在CRE框架下抽調(diào)了一批工程師同Niantic的人員組建了共同團(tuán)隊(duì),并力挽狂瀾。

實(shí)際上,《Pokémon GO》是CRE的第一個(gè)客戶項(xiàng)目。而《Pokémon GO》的巨大成功已經(jīng)使谷歌云團(tuán)隊(duì)決定把CRE推而廣之。

文中還提到了關(guān)鍵的一點(diǎn):經(jīng)過(guò)成長(zhǎng)期之后,《Pokémon GO》比項(xiàng)目初期面臨的挑戰(zhàn)還要嚴(yán)峻得多。為什么今天的《Pokémon GO》能支撐海量同時(shí)在線并保證低延遲?其中的重要原因之一是“谷歌全球網(wǎng)絡(luò)”(Google’s global network)?!禤okémon GO》絕大多數(shù)的數(shù)據(jù)通信都在上面完成,它實(shí)際上是谷歌的“私有光纖網(wǎng)絡(luò)”(private fiber network)。

谷歌全球網(wǎng)絡(luò)的一部分,谷歌全球緩存(Google Global Cache, or GGC)的分布示意圖
谷歌全球網(wǎng)絡(luò)的一部分,谷歌全球緩存(Google Global Cache, or GGC)的分布示意圖

盧克說(shuō):“澳大利亞和新西蘭的測(cè)試已經(jīng)很夸張,北美上線讓我們?nèi)缗R大敵,日本開(kāi)服當(dāng)天的同時(shí)在線人數(shù)卻又超過(guò)了北美上線當(dāng)天的三倍?!禤okémon GO》項(xiàng)目就是面臨各種挑戰(zhàn),不斷升級(jí)的過(guò)程?!?/p>

盧克有機(jī)會(huì)面臨更大的挑戰(zhàn)嗎?

0

編輯 周思沖

zhousichong@chuapp.com

“我和我最后的倔強(qiáng),握住頭像絕對(duì)不放”——清水健。

查看更多周思沖的文章
關(guān)閉窗口