不怕峰值來襲,網(wǎng)易考拉借容器云玩轉雙十一

提要:借助網(wǎng)易蜂巢容器云平臺,網(wǎng)易考拉完成了核心系統(tǒng)的服務化和分布式改造,實現(xiàn)了從資源到應用的端到端彈性擴容,可保障電商系統(tǒng)從容面對雙11、黑五的壓力

為了備戰(zhàn)本次雙11,跨境電商領頭羊網(wǎng)易考拉海購(以下簡稱“網(wǎng)易考拉”)早早就宣布投入4億資源,精心營造了一個“超級洋貨節(jié)”。造節(jié)在引流的同時,也會給電商系統(tǒng)帶來了巨大的考驗。但網(wǎng)易考拉對此并不擔憂:借助網(wǎng)易蜂巢容器云平臺,網(wǎng)易考拉已經(jīng)完成了核心系統(tǒng)的分布式改造,全面實現(xiàn)了資源彈性和應用彈性,以保障電商系統(tǒng)在業(yè)務規(guī)??焖僭鲩L的情況下穩(wěn)如泰山,618、雙11、黑五等大規(guī)模促銷的訪問壓力也可從容面對。

重新定義消費升級,網(wǎng)易考拉的崛起和壓力

2015年1月,攜網(wǎng)易媒體的優(yōu)勢,網(wǎng)易考拉正式開始角逐跨境電商。只用了短短一年,從零起步的網(wǎng)易考拉就開始沖擊100億銷售額。截至今年10月末,網(wǎng)易考拉已積累超過1,500萬的忠誠復購用戶,在國內自營型跨境電商進口銷售額榜單上,網(wǎng)易考拉已經(jīng)名列第一。

網(wǎng)易考拉的快速成長,有互聯(lián)網(wǎng)和消費者趨勢變化推動的因素,但更是網(wǎng)易考拉運營策略得當?shù)慕Y果。借助網(wǎng)易集團現(xiàn)金充沛的優(yōu)勢,網(wǎng)易考拉在跨國的倉儲、物流、供應鏈、支付等基礎工作上投入了大量的精力,全球布點,嚴格審核供應商的資質,并通過自營直采以保證100%正品,為贏得消費者信任、進行各種促銷活動打下基礎。

原始積累已經(jīng)完成,2016年的雙11就是網(wǎng)易考拉的大日子。以重新定義消費升級之名,網(wǎng)易考拉瞄準了品牌、個性和專業(yè)等三個需求,進行差異化的競爭(價格已經(jīng)不是電商競爭的關鍵)。網(wǎng)易考拉很早就已經(jīng)為規(guī)模促銷進行準備,不僅為保稅倉擴容8萬多平方米,從10月初開始備貨,而且還從8月初就開始構建了一個物流云平臺,通過智能化管理系統(tǒng)“祥龍”根據(jù)銷量預測分倉,以保證及時配送。所以,網(wǎng)易考拉有底氣在“超級洋貨節(jié)”期間推出一項1元試用正品好貨的活動,即支付1元就可申請海外商品的試用,施華洛世奇、大王、好奇等眾多海外一線品牌參與。

供應鏈、倉儲、配送的能力固然是與眾不同的“11.11超級洋貨節(jié)”收效的保障,然而,臨門一腳的在線商城系統(tǒng)也是不容忽視的一環(huán),如果直接面向用戶的電商系統(tǒng)不能及時上線策劃的新功能,不能頂住訪問壓力,網(wǎng)站的體驗不能讓消費者滿意,后端的工作準備得再好也是枉然。據(jù)網(wǎng)易考拉預測,本次雙11大促零點的訂單量將瞬間達到平時的數(shù)倍,系統(tǒng)壓力極大。

另一方面,網(wǎng)易考拉對用戶體驗有一種近乎偏執(zhí)的要求。根據(jù)網(wǎng)易考拉海購高級副總裁朱靜波的介紹,網(wǎng)易考拉內部有一個用戶存活率的指標,希望至少50%的大促用戶能夠因為良好的用戶體驗、有趣的內容最終留下來。

其實,本次雙11帶來的技術挑戰(zhàn)和應對方式,正是網(wǎng)易考拉快速成長的縮影,在此之前,618、黑五等大促銷規(guī)模壓力屢創(chuàng)新高,但網(wǎng)易考拉網(wǎng)站從未崩潰。這得益于網(wǎng)易考拉有一個支持彈性擴容的業(yè)務架構。當然,這個架構并不是生來就有的,而是隨著網(wǎng)易考拉的成長經(jīng)過了兩次大版本的迭代形成的,其中大量借鑒了網(wǎng)易互聯(lián)網(wǎng)產品研發(fā)經(jīng)驗。

彈性架構迭代:容器的勝利

資源的彈性是云計算的一個基本承諾,尤其是2009年雙11之后,電商團隊對彈性計算的需求愈發(fā)清晰,都自覺地探索各自的云架構。2014年底立項的網(wǎng)易考拉,也含著資源彈性的金鑰匙出生--2012年開始構建的網(wǎng)易私有云此時已經(jīng)上線,支撐著多個網(wǎng)易互聯(lián)網(wǎng)業(yè)務,網(wǎng)易考拉系統(tǒng)也直接在網(wǎng)易私有云上開發(fā)和部署,借助網(wǎng)易私有云計算、網(wǎng)絡、存儲資源的彈性,輔助自動化腳本及配置工具,可以完成基本的資源的管理和控制以及應用的部署。同時,由于跨境電商剛剛興起,初期需要快速驗證商業(yè)模式,系統(tǒng)也采用了單體式架構,直接聚焦核心場景進行開發(fā)。

自從2015年1月上線后,網(wǎng)易考拉的業(yè)務開始進入了高速發(fā)展期,第一版電商系統(tǒng)的第一個瓶頸逐漸凸顯,就是迭代速度緩慢,而僅僅提供基礎的資源彈性無法解決問題。具體而言,隨著用戶數(shù)量的不斷增加、市場需求的變化、運營體系的完善,網(wǎng)易考拉對功能模塊變更的需求越來越頻繁(例如注冊模塊要從只支持手機登錄到支持微信、微博、QQ、支付寶登錄),不僅僅基礎資源管理越來越復雜,腳本化的應用層的部署和管理也已經(jīng)遠遠跟不上需求。在原有模式下,每一個小迭代都要申請資源搭建一個測試環(huán)境,每當有新的模塊和服務的時候,都需要維護腳本及自動化配置工具,以網(wǎng)易考拉較高水平的研發(fā)能力,每天也只能最多實現(xiàn)兩次更新。此外,原有模式附帶的一個問題,就是容易出錯,多次的環(huán)境部署無法完全的復現(xiàn),畢竟再牛的程序員也還是人類。

網(wǎng)易云的容器云平臺、新一代云計算--網(wǎng)易蜂巢的自動化能力解決了網(wǎng)易考拉的燃眉之急。網(wǎng)易蜂巢采用了流行的Docker容器作為整個軟件部署和調度的基本單元,并以結合Google生產集群管理的理念和業(yè)界的實踐經(jīng)驗打造的Kubernetes作為容器管理和編排服務框架。

與傳統(tǒng)IaaS架構不同,容器提供的不僅僅是基礎資源,而是將操作系統(tǒng),應用運行環(huán)境以及代碼打包成一個不可修改的鏡像進行交付,容器的機制可以保證無論在哪里,什么時候運行,都能保持環(huán)境的一致性,也就是Docker所宣稱的“Build, Ship, and Run Any App, Anywhere(一次構建,隨處運行)”。

一個服務往往會包含多個組件,因而會封裝成為多個容器,容器之間會有相互的依賴,相互的調用,Kubernetes可以實現(xiàn)服務的編排、自發(fā)現(xiàn)、自修復,使得復雜服務的部署變成了一次API調用。

網(wǎng)易蜂巢根據(jù)網(wǎng)易考拉的架構,把代碼里面的功能自動封裝到容器當中,并且把容器做成鏡像,再通過編排服務解決不同容器之間的依賴關系,自動完成軟件的安裝、部署和運行,然后把運行起來的軟件放到網(wǎng)易考拉的測試環(huán)境、聯(lián)調環(huán)境和現(xiàn)場環(huán)境。另外,網(wǎng)易考拉將代碼管理和持續(xù)集成工具同網(wǎng)易蜂巢容器平臺集成起來,整個過程中網(wǎng)易考拉只需要完成編碼和測試,不需要關心申請資源和部署環(huán)境,既便捷又減少出錯概率。

網(wǎng)易考拉在使用了網(wǎng)易蜂巢的自動化部署工具實現(xiàn)一鍵式生成環(huán)境、觸發(fā)測試和發(fā)布之后,變更的頻率由每天2次可以增長到每天11次,同時整個軟件產品質量也提升了52%。

經(jīng)過第一次大迭代之后,網(wǎng)易考拉進入了爆發(fā)增長期,然而當用戶量達到百萬級的時候,又一個大瓶頸出現(xiàn)了,就是單體架構遭遇性能的天花板。在業(yè)務的爆發(fā)期,網(wǎng)易考拉對迭代速度有了更高的要求,同時需要保證系統(tǒng)在高并發(fā)訪問下的穩(wěn)定性和頁面性能。首先,軟件的穩(wěn)定需要一定的時間,但單體架構牽一發(fā)而動全身,頻繁的變更會造成頻繁的業(yè)務中斷,比如注冊模塊的內存泄漏就會導致整個系統(tǒng)不可用;其次,軟件對用戶量的承載是有限的,一次訪問的延遲在日活十萬時是幾毫秒,到日活百萬時可能就上升秒級,尤其是到了網(wǎng)易考拉日活用戶已經(jīng)超過千萬、促銷活動以周為單位的時期,壓力更是巨大。然而,在單擊架構下,網(wǎng)易考拉的瓶頸是全環(huán)境每天最多更新112次,單次訪問的延遲達到500毫秒,整個業(yè)務的更新率越來越低。同時,在單體架構下做彈性擴容還會造成浪費,比如一些訪問頻率不高的模塊,也需要根據(jù)購物車模塊面臨的訪問壓力來準備資源。這個時候,解決的辦法,是借助網(wǎng)易蜂巢對業(yè)務的分布化改造能力,再次進行大版本的迭代。

基于Kubernetes提供的服務發(fā)現(xiàn)功能,網(wǎng)易蜂巢可以支持網(wǎng)易考拉方便地把注冊、購物車、支付等不同的功能模塊拆分出來,由不同的團隊獨立開發(fā)和維護,將原來的單體結構變成微服務結構,單獨進行彈性伸縮,并通過編排建立它們之間的聯(lián)系,這就保證了網(wǎng)易考拉團隊可以靈活地實現(xiàn)軟件的快速迭代,以及軟件架構的彈性伸縮。這次迭代為網(wǎng)易考拉帶來了6倍以上的能力提升,每天的更新頻次上限由每天112次上升到每天723次,并發(fā)訪問支持由原來的每秒2,600次提升到了每秒16,000次。

為了支撐高性能的應用,網(wǎng)易蜂巢基于原生的Kubernetes的基礎上,對于調度進行了優(yōu)化,保證應用的快速部署和快速修復,并且利用多年運行IaaS層的調優(yōu)經(jīng)驗,對于容器之間的網(wǎng)絡互通和持久化存儲做了優(yōu)化,保證數(shù)據(jù)讀寫的高性能及容器之間互相訪問的高性能。

為了保障在不同規(guī)模下的一致的用戶體驗,網(wǎng)易考拉還使用了蜂巢推出的全鏈路的性能監(jiān)控體系。在某次大促之前,線上壓測團隊發(fā)現(xiàn),原本一次加入購物車的延遲僅僅20毫秒,在用戶量爆發(fā)之后就超過了1秒鐘,通過該功能回溯整個鏈路的調用過程,發(fā)現(xiàn)在整個服務的過程當中,數(shù)據(jù)庫操作環(huán)節(jié)的時延占到了整個時延的95%以上,所以,網(wǎng)易考拉能夠快速地優(yōu)化數(shù)據(jù)庫的操作邏輯,很好地應對了大促時的爆發(fā)訪問。

小結

網(wǎng)易公司創(chuàng)始人兼CEO丁磊曾說,電商的核心在于“商”而不在于“電”,網(wǎng)易考拉也確實圍繞商務開展了靈活的玩法,本次雙11尤其如此,這也讓雙11成為了電商技術團隊的一次大閱兵。然而,網(wǎng)易考拉在網(wǎng)易蜂巢的基礎上實現(xiàn)了業(yè)務架構的現(xiàn)代化,獲得了快速迭代和全面彈性伸縮的能力,經(jīng)受住了618和多次黑五大促的考驗,這讓團隊可以從容地玩好本次洋貨節(jié)。事實上,網(wǎng)易考拉的線上壓測團隊已經(jīng)提前申請資源,按照近期平均交易量的數(shù)倍對電商系統(tǒng)進行壓測,并針對一些小瓶頸進行快速的代碼調整,對于實際的挑戰(zhàn),團隊已經(jīng)心中有數(shù),所以并不驚慌。

網(wǎng)易考拉認為,容器云之所以能夠帶來超過傳統(tǒng)IaaS的好處,并不僅僅是因為Docker的應用,關鍵還是因為通過網(wǎng)易蜂巢能夠實現(xiàn)整個業(yè)務架構的變革。其實,作為網(wǎng)易云的基礎服務,網(wǎng)易蜂巢已經(jīng)在支持95%以上的網(wǎng)易互聯(lián)網(wǎng)產品的運行,這些產品團隊通過網(wǎng)易蜂巢的容器服務和工具鏈,實現(xiàn)了敏捷的生產方式和先進的分布式架構,從而支撐他們的業(yè)務像網(wǎng)易考拉一樣快速地成長。

極客網(wǎng)企業(yè)會員

免責聲明:本網(wǎng)站內容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準確性及可靠性,但不保證有關資料的準確性及可靠性,讀者在使用前請進一步核實,并對任何自主決定的行為負責。本網(wǎng)站對有關資料所引致的錯誤、不確或遺漏,概不負任何法律責任。任何單位或個人認為本網(wǎng)站中的網(wǎng)頁或鏈接內容可能涉嫌侵犯其知識產權或存在不實內容時,應及時向本網(wǎng)站提出書面權利通知或不實情況說明,并提供身份證明、權屬證明及詳細侵權或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關文章源頭核實,溝通刪除相關內容或斷開相關鏈接。

2016-11-11
不怕峰值來襲,網(wǎng)易考拉借容器云玩轉雙十一
提要:借助網(wǎng)易蜂巢容器云平臺,網(wǎng)易考拉完成了核心系統(tǒng)的服務化和分布式改造,實現(xiàn)了從資源到應用的端到端彈性擴容,可保障電商系統(tǒng)從容面對雙11、黑五的壓力為了備戰(zhàn)本次雙11,跨境電商領頭羊網(wǎng)易考拉海購(以下簡稱“網(wǎng)易考拉”)早早就宣布投入4億資源,精心營造了一個“超級洋貨

長按掃碼 閱讀全文