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

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

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

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

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

預(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ù)載情況(紅線)。然后就是無情的事實(shí)——綠線。盧克在事后評(píng)估中發(fā)現(xiàn),《Pokémon GO》的上線首日服務(wù)器負(fù)載超過了Niantic預(yù)期的五十倍,超過了最壞預(yù)期的十倍以上。

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

根據(jù)盧克的描述,谷歌同Niantic間達(dá)成了某種默契(畢竟曾經(jīng)是一家人):谷歌云團(tuán)隊(duì)在《Pokémon GO》項(xiàng)目上采用了全新的溝通方式,“客戶可靠性工程”(Customer Reliability Engineering,簡(jiǎn)稱CRE)。盧克沒有透露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)過成長(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)的分布示意圖

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

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

0

編輯 周思沖

zhousichong@chuapp.com

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

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