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