作者:“雙11”電商技術(shù)大考,京東能頂住嗎? / 日期:2015-11-11
為了應(yīng)對(duì)雙十一,京東此前已經(jīng)做了約1500個(gè)技術(shù)演練,京東高級(jí)副總裁、研發(fā)體系負(fù)責(zé)人張晨透露:“每一次演練都要求出現(xiàn)的問(wèn)題在60秒內(nèi)解決問(wèn)題。”而事實(shí)上,從618到雙十一,不僅是銷(xiāo)售的狂歡,更是考驗(yàn)電商平臺(tái)各種技術(shù)的時(shí)刻,“618是技術(shù)小考,雙十一才是大考”,張晨這樣總結(jié)。
在京東,技術(shù)像影子一樣緊密跟隨著業(yè)務(wù):秒殺時(shí)的突發(fā)訪問(wèn),京東預(yù)留了20倍的流量,而在普通互聯(lián)網(wǎng)平臺(tái)上,忽然多了3倍的流量都倍感壓力;“諾亞方舟計(jì)劃”,是基礎(chǔ)的底層架構(gòu),京東正逐步完成新數(shù)據(jù)中心的遷移,給在其上跑的業(yè)務(wù)鋪上“新高速路”;年初開(kāi)始的“京東大腦”計(jì)劃,讓這個(gè)平臺(tái)上無(wú)論是賣(mài)家還是買(mǎi)家精準(zhǔn)對(duì)接,改善用戶體驗(yàn)的同時(shí),提升效率。
技術(shù)方面的變化與京東今年的發(fā)展?fàn)顟B(tài)相對(duì)應(yīng)。數(shù)據(jù)顯示,京東集團(tuán)2015年第一季度營(yíng)收為366億元人民幣,同比增加62%;阿里巴巴公布的2015年第一季度成績(jī)數(shù)據(jù)顯示,其收入達(dá)174.25億元人民幣,較上年同期增加45%;京東第一季度GMV(平臺(tái)交易總額)是878億元,同比增加99%,而阿里公布的第一季度GMV是京東的六倍多,達(dá)到6001億元,同比增加為40%。
業(yè)內(nèi)人士分析:“雖然在絕對(duì)值上,第一季度京東的GMV僅為阿里的14.6%,但以如今的增加速度看,京東會(huì)在未來(lái)進(jìn)一步減少與阿里的差距。”
業(yè)務(wù)增長(zhǎng)背后必然要有IT技術(shù)進(jìn)步的支撐,而這次保障京東雙11網(wǎng)絡(luò)順暢的是以下這三個(gè)殺手锏:
1
諾亞方舟計(jì)劃
隨著業(yè)務(wù)的發(fā)展,京東原有的數(shù)據(jù)中心里機(jī)器越來(lái)越多,機(jī)房分散在各處,這給整合資源帶來(lái)了不必要的耗損。今年春節(jié)前后,京東啟動(dòng)了諾亞方舟計(jì)劃,逐步把分散的數(shù)據(jù)中心集中和遷移到一起。
京東集團(tuán)京東云平臺(tái)首席架構(gòu)師、系統(tǒng)技術(shù)部負(fù)責(zé)人劉海鋒透露:“在新的數(shù)據(jù)中心里,有非常大的規(guī)模集群,對(duì)外業(yè)務(wù)交流有將近10萬(wàn)級(jí)別的Docker的體系識(shí)別,能承擔(dān)100%的流量。”今年的雙十一在數(shù)據(jù)中心里完成百分之百的業(yè)務(wù)和流量,至于遷移過(guò)來(lái)的業(yè)務(wù),預(yù)先不需要嚴(yán)格的劃分,其策略是粗放地提供,根據(jù)使用的情況、流量、資源占用然后再作調(diào)整,達(dá)到各業(yè)務(wù)之間的資源分配更合理。
新數(shù)據(jù)中心具備了快速的自動(dòng)配備資源的能力,以秒殺為例,一個(gè)按鈕便可實(shí)現(xiàn)資源配備,秒殺完成后,資源也能立即回歸原位。劉海峰透露,秒殺時(shí)事先估算流量的準(zhǔn)確性并不高,這時(shí)也需人工輔助機(jī)器做及時(shí)調(diào)配,而對(duì)那些有規(guī)律的業(yè)務(wù),在線圖片、訂單、商品頁(yè)面等,對(duì)其流量有預(yù)測(cè),則完全實(shí)現(xiàn)機(jī)器化調(diào)配。
2
多中心布局
如果說(shuō)諾亞方舟修建的是高速公路,在其上進(jìn)行數(shù)據(jù)的存取,京東開(kāi)啟了多中心布局。這樣的設(shè)計(jì)也是基于猛增的流量,據(jù)京東商城平臺(tái)研發(fā)部交易平臺(tái)總監(jiān)王曉鐘透露,往年的618和雙十一都靠一個(gè)機(jī)房做起來(lái),今年的流量是往年的幾倍,“多中心的一個(gè)含義是交易和流量同時(shí)分發(fā)到多個(gè)中心備份。”
整個(gè)交易從數(shù)據(jù)層面來(lái)說(shuō),可以分為用戶數(shù)據(jù)和商家數(shù)據(jù),用戶數(shù)據(jù)有訂單數(shù)據(jù)和購(gòu)物車(chē)數(shù)據(jù),商家數(shù)據(jù)包括商品、促銷(xiāo)和庫(kù)存數(shù)據(jù)。京東根據(jù)數(shù)據(jù)性質(zhì)的不同設(shè)置了熱備中心和冷備中心,據(jù)了解,這樣做的好處有兩點(diǎn),其一是吞吐量提升了一倍,其二是如果發(fā)生單邊數(shù)據(jù)丟失,或者數(shù)據(jù)突然不寫(xiě)入等情況發(fā)生,則通過(guò)其它機(jī)房替換。
所謂冷數(shù)據(jù)是指訪問(wèn)較多的數(shù)據(jù),反之則是熱數(shù)據(jù)。據(jù)了解,京東的商品量大概有幾個(gè)億左右,常訪問(wèn)到的就進(jìn)入熱備集群,幾乎不訪問(wèn)的就進(jìn)行冷備,這樣其實(shí)在冷備集群里是沒(méi)有流量的。但冷備需要支出軟件成本,好比一百臺(tái)機(jī)器存著不用,是一個(gè)很大的成本。
在軟件成本上熱備比冷備低,但是熱備具有高可用性,且需要非常穩(wěn)定的運(yùn)作。熱備最大的挑戰(zhàn)在于軟件架構(gòu),王曉忠總結(jié),熱備需要解決三個(gè)方面的問(wèn)題:第一數(shù)據(jù)不一致,寫(xiě)數(shù)據(jù)如果是熱備,兩邊的數(shù)據(jù)怎么保證一致是很大問(wèn)題;第二集群規(guī)模也是一個(gè)問(wèn)題,冷備可以做一個(gè)小規(guī)模,熱備集群規(guī)模要大得多,當(dāng)時(shí)軟件架構(gòu)不成熟,對(duì)于京東交易系統(tǒng)來(lái)說(shuō),它是一個(gè)慢慢發(fā)展的過(guò)程,不大可能一步到位;第三,隨著交易量的增大,對(duì)線上高可用的要求也不一樣。隨著京東交易規(guī)模的增大,訂單量也在迅速增長(zhǎng),對(duì)整個(gè)商城的影響還是挺大的,所以需求的劇增,我們的架構(gòu)就跟著不同的系統(tǒng)要求做不同的變化。
目前在京東平臺(tái)上出現(xiàn)多種業(yè)務(wù),但在王曉忠那里都?xì)w結(jié)為數(shù)據(jù),他說(shuō)多中心交易除了多做幾個(gè)數(shù)據(jù)中心寫(xiě)入和備份數(shù)據(jù)外,每個(gè)中心的內(nèi)部還要進(jìn)行詳細(xì)的切分。以交易系統(tǒng)為例,最擔(dān)心的是突發(fā)流量,這時(shí)數(shù)據(jù)中心就要判斷流量是否正常,異常流量又被判斷為特別異常型,例如遇到競(jìng)爭(zhēng)對(duì)手搗亂或者黑客攻擊,京東第一時(shí)間屏蔽這樣的賬號(hào),甚至封號(hào)。還有另外一種異常流量便是類似于秒殺這樣的交易,今年618,京東推出6.18元買(mǎi)某件商品,這時(shí)會(huì)出現(xiàn)正常的異常流量,對(duì)于電商交易系統(tǒng)來(lái)說(shuō),對(duì)害怕的是出現(xiàn)這種突發(fā)流量,所以在今年雙十一,京東設(shè)計(jì)峰值在20倍,王曉忠透露:“按照歷史的經(jīng)驗(yàn),峰值到20倍很少能突破。”
3
京東大腦計(jì)劃
今年年初,京東開(kāi)啟了京東大腦計(jì)劃,其目的是為了提高平臺(tái)上的運(yùn)作效率,于用戶來(lái)說(shuō),能精確找到自己需要和潛在需要的商品,對(duì)商家而言,則是有了商品能找到精準(zhǔn)的用戶推送。
京東集團(tuán)研發(fā)部的研發(fā)總監(jiān)楊光信認(rèn)為,之所以把這個(gè)計(jì)劃總結(jié)為京東大腦,是想用人工智能或者AI技術(shù)去提高京東的運(yùn)營(yíng)效率,“京東從數(shù)據(jù)層面已經(jīng)做好了準(zhǔn)備。”楊光信總結(jié),京東有著多數(shù)互聯(lián)網(wǎng)公司羨慕的數(shù)據(jù),“京東所有的用戶數(shù)據(jù)都是用戶花錢(qián)留下的,真正代表用戶意圖或者是消費(fèi)行為的各個(gè)方面,此其一,其二是京東平臺(tái)上的交易很少有刷單的情形,因此數(shù)據(jù)質(zhì)量是有保證的。”
自成立以來(lái),京東積累了十幾年的用戶數(shù)據(jù),這上面可以發(fā)揮的余地比較大,例如在商品推送上,京東大腦擬做到千人千面,其交易是以用戶的家庭為單位進(jìn)行畫(huà)像,假如追蹤到某個(gè)賬戶在頻繁購(gòu)買(mǎi)紙尿褲,嬰兒用品,就可以判斷這是一個(gè)有小孩的家庭,以后商品的推送是關(guān)聯(lián)知識(shí)圖譜,做更加深度的發(fā)掘。
地理坐標(biāo)也是推送時(shí)考慮的因素。在北京地區(qū),京東通過(guò)檢測(cè)發(fā)現(xiàn),望京地區(qū)對(duì)于日韓品牌電飯煲的購(gòu)買(mǎi)異常活躍,而在南五環(huán)的黃村地區(qū),用戶則喜歡買(mǎi)國(guó)產(chǎn)手機(jī)的低端產(chǎn)品,在今年iPhone6s上市期間,朝陽(yáng)區(qū)的某些用戶比較積極……
楊光信透露,這樣的關(guān)聯(lián)對(duì)于快速發(fā)貨具有重要意義,可以預(yù)先把一些熱銷(xiāo)商品提前放到站點(diǎn),該地區(qū)用戶點(diǎn)擊購(gòu)買(mǎi),便可以第一時(shí)間發(fā)貨,及時(shí)送到,這是他從雅虎北研來(lái)到京東一直在將雅虎的技術(shù)與京東業(yè)務(wù)進(jìn)行緊密結(jié)合的嘗試。