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

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

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

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

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

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

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

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

另一方面,網(wǎng)易考拉對用戶體驗(yàn)有一種近乎偏執(zhí)的要求。根據(jù)網(wǎng)易考拉海購高級副總裁朱靜波的介紹,網(wǎng)易考拉內(nèi)部有一個(gè)用戶存活率的指標(biāo),希望至少50%的大促用戶能夠因?yàn)榱己玫挠脩趔w驗(yàn)、有趣的內(nèi)容最終留下來。

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

彈性架構(gòu)迭代:容器的勝利

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

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

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

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

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

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

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

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

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

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

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

小結(jié)

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

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

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

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

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

長按掃碼 閱讀全文