模擬演練,全鏈路壓測!京東是如何應(yīng)對雙11流量高峰挑戰(zhàn)
原創(chuàng)【51CTO.com原創(chuàng)稿件】雙十一電商購物狂歡節(jié)馬上就要到了,相信有很多朋友跟筆者一樣,早早就選好了自己心儀的產(chǎn)品,期待在這個(gè)促銷的節(jié)日里能夠花最少的錢買到自己喜歡的產(chǎn)品。不過,在這個(gè)萬眾期待的日子里,電商技術(shù)人員面臨的壓力可不小。那么,電商平臺背后的技術(shù)工程師,是通過哪些方法和措施來保障雙11流量高峰帶來的挑戰(zhàn)的。筆者近期就這一話題,采訪了京東商城總架構(gòu)師劉海峰先生,就京東在技術(shù)上保障雙11的一些做法,進(jìn)行了分享。劉海峰先生告訴筆者,今年雙11備戰(zhàn)的思路,可以用四個(gè)關(guān)健詞來描述,分別是故障模擬演練,全鏈路的壓測,夯實(shí)基礎(chǔ),增強(qiáng)智能。
一、用暴力機(jī)器人來模擬演練,提高系統(tǒng)抗壓能力
劉海峰先生認(rèn)為,雙11對電商平臺主要考量兩個(gè)能力,***是故障的應(yīng)對,即時(shí)響應(yīng)的能力;第二是對于大流量的抗壓能力。在兩個(gè)方面,京東是分別來應(yīng)對的。
***,在大規(guī)模故障演練方面,引入一個(gè)新的方法,包括機(jī)器、網(wǎng)絡(luò)、模塊、服務(wù)、中間件、數(shù)據(jù)庫等都是有針對性的進(jìn)行演練,所有設(shè)想的故障,全部由工程師團(tuán)隊(duì)來模擬。在演練方面,京東分為兩組,包括任何一個(gè)體系,一個(gè)業(yè)務(wù),都會分為兩組團(tuán)隊(duì),由一組團(tuán)隊(duì)來制造故障,另外一組團(tuán)隊(duì)做為故障的解決者和響應(yīng)者,來考察各級力度發(fā)生的時(shí)候整個(gè)基礎(chǔ)團(tuán)隊(duì)的檢測、響應(yīng)、處理還有恢復(fù)的時(shí)間,要求所有的故障能夠做到不同力度的處理,小的故障不需要人為介入,大故障人工介入在30秒之內(nèi)能夠完成。大促之前的兩個(gè)月,故障演練會緊鑼密鼓的更加密集的來開展,以提高我們對大規(guī)模故障的容錯(cuò)能力。
第二,大促期間考量***的是系統(tǒng)的峰值能力,例如京東在11月1號和11月11號的凌晨都會進(jìn)行大規(guī)模的搶購和促銷,瞬間和幾秒鐘流量非常大,怎么樣用有效的技術(shù)手段來應(yīng)對大流量,怎么樣很好的規(guī)劃系統(tǒng)都是比較難的問題。今年,京東創(chuàng)新性引入新的技術(shù)——ForceBot,軍演機(jī)器人,暴力機(jī)器人。通過模擬人的行為,機(jī)器人通過程序發(fā)起大的流量進(jìn)行全鏈的壓測,最多會發(fā)起幾百萬,幾千萬的并發(fā)鏈接,與真實(shí)用戶的操作一樣,瀏覽、搜索、加購物車、下單等等,通過機(jī)器人模擬大流量峰值時(shí)候的場景,不僅讀壓測,而且寫壓測,支付訂單等這些環(huán)節(jié)。為了做好這些工作,16年對系統(tǒng)做了很多改造,需要整個(gè)系統(tǒng)支持虛擬的銀行,虛擬的倉庫,虛擬的用戶等等,因?yàn)樽鲞@種模擬的機(jī)器人壓測,會產(chǎn)生很多臟數(shù)據(jù),需要整個(gè)系統(tǒng)容忍,所以整個(gè)壓測是線上進(jìn)行的,是通過機(jī)器人模擬用戶的行為,真實(shí)的壓線上的,而且整個(gè)全鏈路聯(lián)動的,這個(gè)工作對我們的整個(gè)大促是非常重要的環(huán)節(jié),也是今年***次呈現(xiàn)。
二、夯實(shí)基礎(chǔ),增強(qiáng)智能,提高用戶購物體驗(yàn)
談到京東技術(shù)體系的創(chuàng)新,劉海峰先生表示,經(jīng)過多年的積累,京東商城形成完全自主研發(fā)的技術(shù)的對戰(zhàn)。在技術(shù)架構(gòu)層面,夯實(shí)基礎(chǔ),京東多數(shù)據(jù)中心的架構(gòu)已經(jīng)穩(wěn)定運(yùn)行近兩年,中間件和容器都是利用自主資源,研發(fā)中間件的技術(shù)和服務(wù)框架等等。存儲架構(gòu)方面,過去幾年里京東積累沉淀了自己以內(nèi)存為中心的存儲體系,這是最核心的系統(tǒng),是半結(jié)構(gòu)和結(jié)構(gòu)的存儲系統(tǒng),幾乎應(yīng)用在京東所有的動態(tài)內(nèi)容的數(shù)據(jù)存儲上。以內(nèi)存為中心極低的延遲極高的存儲量,適合電商的場景。
在業(yè)務(wù)智能化建設(shè)上,京東把機(jī)器學(xué)習(xí)人工智能的技術(shù)廣泛應(yīng)用到京東商城各個(gè)業(yè)務(wù)環(huán)節(jié),本質(zhì)上是用技術(shù)手段輔助人,增強(qiáng)業(yè)務(wù)的智能性。此外,我們把機(jī)器學(xué)習(xí)用到商城很多業(yè)務(wù)環(huán)節(jié)里面,讓網(wǎng)站更智能,生態(tài)管理更智能,采銷更智能,物流更智能,在網(wǎng)站和用戶的體驗(yàn)這個(gè)方面更加的個(gè)性化,每個(gè)人看到的東西是不一樣的。當(dāng)然,客服機(jī)器人還能夠有效緩解人工客服巨大的壓力,特別大促期間,商品做非常豐富的情感分析,輔助我們長期商品的管理和運(yùn)營,會對POP商品做全自動的信息的合規(guī)的檢查,節(jié)省數(shù)百個(gè)人力的人工。
另外,京東的訂單技術(shù),還可以降低因?yàn)槿∠唵谓o我們物流帶來的成本。大家知道,大促期間會有盲目消費(fèi)的可能性,比如一沖動就買了三部蘋果7,但是下單之后突然想到其實(shí)我還沒有女朋友,只能送爸媽每人一部,需要取消訂單。然而,這時(shí)訂單已經(jīng)下到庫房,庫房已經(jīng)揀貨,這就會增加物流成本。如何解決這一問題呢?京東開發(fā)了訂單模型,會對訂單預(yù)測打分,如果預(yù)測這個(gè)人這一單很有可能在5分鐘之內(nèi)取消,那就會讓他在我們的管道里冷靜5分鐘。當(dāng)然,如果預(yù)測這個(gè)人這一單被取消的可能性只有萬分之一,就會快速的下到庫房。這個(gè)技術(shù),會給京東整個(gè)物流生產(chǎn)降低非常高的成本。
京東商城研發(fā)副總裁馬松先生表示,在今年雙11備戰(zhàn)方面,京東今年也像往年一樣,大概對2200多個(gè)系統(tǒng)進(jìn)行了梳理,對一萬多個(gè)應(yīng)用一一做了排查,也做了大量的應(yīng)急預(yù)案,假設(shè)的各種情況發(fā)生的時(shí)候怎么樣能夠快速的恢復(fù)我們的系統(tǒng),恢復(fù)我們的能力,保證我們的可容性,保持我們的系統(tǒng)穩(wěn)定性。在保障方面,京東有五千人戰(zhàn)斗在研發(fā)的***線, 24小時(shí)處于備戰(zhàn)狀態(tài),并且進(jìn)行了數(shù)百次的壓測,抗洪能力,等待雙11到來。
【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請注明原文作者和出處為51CTO.com】