當(dāng)前位置:首頁(yè) >  電商 >  電商新聞 >  正文

酒仙網(wǎng):聽云助力保障高可用高訪問量的酒類電商

 2016-12-08 16:18  來源: 互聯(lián)網(wǎng)   我來投稿 撤稿糾錯(cuò)

  域名預(yù)訂/競(jìng)價(jià),好“米”不錯(cuò)過

低調(diào)的酒仙網(wǎng)技術(shù)團(tuán)隊(duì)

在過去,酒仙網(wǎng)的技術(shù)團(tuán)隊(duì)在整個(gè)DevOps圈中都非常低調(diào),按他們自己的話說,秉承了山西晉商文化“樸實(shí)真誠(chéng),與人為善”的理念,作為技術(shù)人還是要?jiǎng)?wù)實(shí)、低調(diào),首要工作是踏踏實(shí)實(shí)做好技術(shù)能力,做好酒類垂直電商,體現(xiàn)產(chǎn)業(yè)價(jià)值的想法。并且,雖然在過去的三、四年中酒仙網(wǎng)的發(fā)展呈現(xiàn)非??焖俚脑鲩L(zhǎng),但其實(shí)底層架構(gòu)和創(chuàng)業(yè)公司區(qū)別不大,追求更多的是效率和增速,沒有在大數(shù)據(jù)的處理,高可用性,穩(wěn)定性上花特別多的精力。

隨著形勢(shì)的變化,酒仙網(wǎng)逐步走向了酒類獨(dú)角獸公司。酒仙網(wǎng)CTO曾稱,作為靠零售額去估值的公司,雖然PE的指標(biāo)很低,但是作為技術(shù)人也希望能從技術(shù)的含量上給公司的估值增加份量,希望在酒仙現(xiàn)在的整個(gè)體系上增加科技和互聯(lián)網(wǎng)的基因,吸引更多的人才加入。并且,隨著網(wǎng)站流量的不斷增長(zhǎng),酒仙也開始在技術(shù)的選型以及一些小的技術(shù)領(lǐng)域進(jìn)行了新的嘗試和探索。后續(xù)的話也希望酒仙網(wǎng)在整個(gè)互聯(lián)網(wǎng)或者是電商領(lǐng)域有更多的聲音,無論是開源的社區(qū)還是整個(gè)互聯(lián)網(wǎng)技術(shù)發(fā)展上,能夠貢獻(xiàn)酒仙技術(shù)人員自己的力量。

另類的垂直電商

酒仙網(wǎng)整體架構(gòu)

酒類電商具有周期性、季節(jié)性的特點(diǎn)。酒仙網(wǎng)的UV量級(jí)達(dá)幾十萬,節(jié)日氣氛非常明顯,不像一般的電商,比如京東在618、雙十一的時(shí)候,流量只會(huì)提升6、7倍。在節(jié)日的時(shí)候,比如中秋、雙十一、春節(jié),即使是任何營(yíng)銷活動(dòng)都不做并且還比平時(shí)提價(jià)的話,網(wǎng)站流量都是平時(shí)的十幾倍。一般情況下,酒仙網(wǎng)的雙十一會(huì)比平時(shí)的流量翻到100倍以上,對(duì)技術(shù)的考驗(yàn)巨大,這就決定了翻100倍流量與3、5倍的流量在技術(shù)的玩法上完全不同。

這種情況與酒類電商化的特點(diǎn)息息相關(guān)。酒類的線下市場(chǎng)達(dá)萬億級(jí),但是網(wǎng)上的電商其實(shí)才有幾百億的規(guī)模。那么其實(shí)就有8、9000億的市場(chǎng)規(guī)模都在線下。這就說明,如果1%的人想從線下轉(zhuǎn)到線上的話,那么全國(guó)整個(gè)電商平臺(tái)就增加了1倍,這個(gè)空間真的是想象力非常大。所以酒仙網(wǎng)也在模式上做著新的探索,如何能夠?qū)⒕€下可開發(fā)的良田轉(zhuǎn)到線上來。

高并發(fā)大流量下有哪些技術(shù)挑戰(zhàn)?

1、如何實(shí)現(xiàn)上百倍流量峰值下的系統(tǒng)穩(wěn)定和可控性的設(shè)計(jì)與落地,保證服務(wù)器資源的最大化利用?比如全站做虛擬還是做什么。100多倍的流量扛下來的話,服務(wù)器肯定是過剩的,所以在探討混合云的理念就是為了應(yīng)對(duì)這個(gè)問題。一般來說,在絕大多數(shù)的電商公司里面,混合云的理念還是比較少的。但是對(duì)于酒仙網(wǎng)現(xiàn)在來講,必須要邁出這一步。

2、對(duì)于酒仙網(wǎng)來講,它是一個(gè)業(yè)務(wù)模式比較復(fù)雜的企業(yè)。酒仙在后端,存在著像倉(cāng)儲(chǔ)體系、供應(yīng)鏈體系,這就要打通所有的2C端2B端,打通上下游,整個(gè)供應(yīng)鏈、銷售預(yù)測(cè)體系、倉(cāng)儲(chǔ)職能配貨,整個(gè)的數(shù)據(jù)運(yùn)營(yíng)體系。比如同一款酒,分散在不同的銷售渠道上,那么定價(jià)多少、銷售情況、進(jìn)貨量如何、每個(gè)倉(cāng)怎么去分布都要考慮。同時(shí),酒都有地域性和季節(jié)性,如何進(jìn)行智能的分配,這個(gè)對(duì)于酒仙網(wǎng)來說挑戰(zhàn)極大。

3、酒仙網(wǎng)對(duì)用戶體驗(yàn)是非常關(guān)注的。在酒仙網(wǎng)買過酒都知道它的包裝精美,成本之高可想而知。這樣核算下來,包裝的費(fèi)用比例也非常高,大概成本占到7-8個(gè)點(diǎn)。這在整個(gè)零售類里都是不可想象的。無論是從泡沫、膠帶、氣泡、紙盒都選的最好的。另一方面講,落實(shí)到技術(shù)上的話,酒仙網(wǎng)從頁(yè)面打開速度、系統(tǒng)穩(wěn)定性、可用性,CDN的質(zhì)量以及現(xiàn)在所面臨的一些信息泄漏、流量劫持等問題,對(duì)此從公司角度看非常重視。

另類的垂直電商如何應(yīng)對(duì)挑戰(zhàn)?

1、“五分級(jí)、四服務(wù)”支撐系統(tǒng)架構(gòu)

酒仙網(wǎng)的系統(tǒng)結(jié)構(gòu)是面向SOA的體系結(jié)構(gòu),使用該體系的目的是為了滿足業(yè)務(wù)發(fā)展的需要,保證能夠進(jìn)行拓展。整體框架以“緩存”、“索引”、“消息”、“日志”四大服務(wù)為支撐,且采用了多層分級(jí)服務(wù)體系結(jié)構(gòu)。

(1)Web應(yīng)用和APP應(yīng)用,主要面向消費(fèi)者層面,即為展現(xiàn)層,可根據(jù)業(yè)務(wù)和功能的劃分成各個(gè)不同的業(yè)務(wù)子系統(tǒng)。這在電商行業(yè)網(wǎng)站里面非常特殊,像這一層,在酒仙網(wǎng)就包括ERP、面對(duì)消費(fèi)者的官網(wǎng)和移動(dòng)網(wǎng)站。官網(wǎng)方面,酒仙網(wǎng)會(huì)分成各個(gè)子業(yè)務(wù)模塊進(jìn)行拓展。一般是獨(dú)立部署,獨(dú)立部署之后有效的增加性能拓展。這層是靜態(tài)文件,酒仙網(wǎng)都是獨(dú)立部署的。一般上CDN的時(shí)候,動(dòng)態(tài)文件就不便上CDN的,靜態(tài)文件是常年上CDN的,動(dòng)靜分層的管理。

(2)緩存。酒仙網(wǎng)有一級(jí)緩存和二級(jí)緩存。一級(jí)緩存,主要減少展現(xiàn)層和服務(wù)層的數(shù)據(jù)交互,這樣酒仙網(wǎng)就有效增加傳輸效率,同時(shí)也減少了服務(wù)層的計(jì)算壓力。每一個(gè)緩存的層面都加了獨(dú)立的開關(guān),以便于調(diào)試和糾錯(cuò)。

(3)服務(wù)層,服務(wù)層也是根據(jù)各個(gè)不同的功能和業(yè)務(wù)子系統(tǒng)進(jìn)行切分。一般業(yè)務(wù)子系統(tǒng)間是不存在相互調(diào)用的,但是酒仙網(wǎng)的子功能之間是會(huì)相互調(diào)用的,并且進(jìn)行交叉調(diào)用的形式。服務(wù)層是直接跟Web應(yīng)用展現(xiàn)層進(jìn)行數(shù)據(jù)交互,這層不會(huì)和數(shù)據(jù)庫(kù)打交道。服務(wù)層也是根據(jù)各個(gè)不同的子系統(tǒng)和業(yè)務(wù)劃分之后進(jìn)行獨(dú)立部署,這樣有利于壓力的抗衡。在拓展層面會(huì)更加便捷。

(4)二級(jí)緩存。上一級(jí)已經(jīng)有一級(jí)緩存,下面這級(jí)緩存對(duì)web接口提供數(shù)據(jù)交互,web接口不經(jīng)過一級(jí)緩存,直接走服務(wù)層往外進(jìn)行數(shù)據(jù)傳輸,在這里為了減少數(shù)據(jù)庫(kù)的壓力。二級(jí)緩存跟一級(jí)緩存性質(zhì)上是一樣的,只不過在過程當(dāng)中起的作用是不一樣的。

(5)數(shù)據(jù)庫(kù)。酒仙網(wǎng)根據(jù)不同的功能,切分成不同的物理基因進(jìn)行部署。數(shù)據(jù)庫(kù)是采取主從分離的形式,一主多從進(jìn)行數(shù)據(jù)同步來進(jìn)行交互的。因?yàn)榍蟹殖刹煌奈锢砘颍葡删W(wǎng)就形成了多主多從的協(xié)定。

2、如何處理復(fù)雜數(shù)據(jù)流向問題?

電商行業(yè)在正常情況下都會(huì)面臨一個(gè)問題,即大促期間的壓力非常大?;ヂ?lián)網(wǎng)的環(huán)境很復(fù)雜,訂單量、數(shù)據(jù)流量不可預(yù)估,甚至存在一些帶有惡意行為的競(jìng)爭(zhēng)對(duì)手。這就要求了技術(shù)人員在應(yīng)對(duì)大促都要做非常周全的準(zhǔn)備工作,嚴(yán)陣以待。對(duì)此,酒仙網(wǎng)一般都是這么做的:

(1)人員上,每次大促前都會(huì)成立不少于七八個(gè)人的數(shù)據(jù)指揮小組,每個(gè)小組還要抽出專門的對(duì)接人員進(jìn)行業(yè)務(wù)對(duì)接。此外,酒仙網(wǎng)還會(huì)準(zhǔn)備數(shù)據(jù)沙盤,靈活操控?cái)?shù)據(jù)動(dòng)態(tài)。

(2)技術(shù)上,每次大促都會(huì)出現(xiàn)一些新的促銷形式。比如抽獎(jiǎng)活動(dòng),發(fā)紅包,每次出現(xiàn)新的形式后,一些老的形式都會(huì)進(jìn)行業(yè)務(wù)梳理,專門組織梳理業(yè)務(wù)流程的工作。梳理完后,都會(huì)統(tǒng)一的做性能測(cè)試。但在每次的大促銷前,都會(huì)組織大型的性能測(cè)試,分內(nèi)外兩個(gè)部分。對(duì)內(nèi)包括對(duì)每一個(gè)固定模塊進(jìn)行性能測(cè)試,也會(huì)對(duì)綜合業(yè)務(wù)模塊進(jìn)行測(cè)試。做完內(nèi)部的性能測(cè)試之后,會(huì)邀請(qǐng)第三方機(jī)構(gòu),比如聽云Network對(duì)酒仙網(wǎng)大促前的性能進(jìn)行壓力測(cè)試,去了解網(wǎng)站性能以及網(wǎng)絡(luò)節(jié)點(diǎn)上的網(wǎng)絡(luò)請(qǐng)求效果。聽云Network的壓力測(cè)試可以從不同節(jié)點(diǎn)、多個(gè)地域、同一時(shí)間并發(fā)請(qǐng)求,在真實(shí)性及效果方面有著不俗表現(xiàn)。

聽云Network——壓力測(cè)試

聽云Network壓力測(cè)試可在指定時(shí)間調(diào)度全國(guó)各地的監(jiān)測(cè)節(jié)點(diǎn)對(duì)目標(biāo)網(wǎng)站/應(yīng)用發(fā)起監(jiān)測(cè),并周期性地增加同時(shí)并發(fā)量,通過確定一個(gè)系統(tǒng)的瓶頸或者不可用的性能點(diǎn),來獲得系統(tǒng)能提供的最大服務(wù)級(jí)別的測(cè)試;

在壓力測(cè)試期間記錄下源站服務(wù)器的CPU/內(nèi)存值以及網(wǎng)絡(luò)流量等關(guān)鍵數(shù)據(jù),并加以適當(dāng)分析;

聽云Network的壓力測(cè)試服務(wù)可提供頁(yè)面、視頻流媒體及事務(wù)流程壓力測(cè)試。

一般酒仙網(wǎng)對(duì)流量都進(jìn)行一些預(yù)估,比如雙十一,酒仙網(wǎng)的性能預(yù)估是2000萬的UA,酒仙網(wǎng)就會(huì)朝著1.5-2倍的方向去考慮,系統(tǒng)必須要達(dá)到這個(gè)要求。在壓力測(cè)試的過程中,還會(huì)發(fā)現(xiàn)一些新問題,比如有些業(yè)務(wù)流程在代碼層面不是特別流暢,這時(shí)就會(huì)有針對(duì)性的做瓶頸代碼的更改。萬一這個(gè)業(yè)務(wù)一時(shí)得不到解決,比如說有時(shí)時(shí)間比較倉(cāng)促,或者發(fā)生其他情況,這時(shí)就只能丟車保帥,保留一些業(yè)務(wù)性能影響大的東西,對(duì)影響不是太大的功能進(jìn)行屏蔽。

(3)面對(duì)成百上千倍的流量峰值,如果采用增加服務(wù)器的方式會(huì)造成資源的浪費(fèi),所以酒仙網(wǎng)采取了混合云的方式,進(jìn)行彈性的部署。

(4)風(fēng)險(xiǎn)評(píng)估,主要包括兩面,一是運(yùn)維層面,二是程序?qū)用?。程序存在安全性能問題時(shí),酒仙網(wǎng)也會(huì)拿出相應(yīng)的風(fēng)險(xiǎn)評(píng)估預(yù)案,如果真存在問題的話便會(huì)關(guān)閉一部分的業(yè)務(wù)。同時(shí)會(huì)提前把預(yù)案想好,當(dāng)然風(fēng)險(xiǎn)評(píng)估與網(wǎng)絡(luò)優(yōu)化也是密不可分的。

3、在性能優(yōu)化上,酒仙網(wǎng)怎么做?

(1)在網(wǎng)絡(luò)優(yōu)化方面,負(fù)載均衡在整個(gè)的過程當(dāng)中,特別是訂單體系的運(yùn)行過程中都會(huì)有的,但是在大促的時(shí)候,酒仙網(wǎng)會(huì)臨時(shí)增加負(fù)載均衡量,之前服務(wù)器沒有那么多,酒仙網(wǎng)應(yīng)對(duì)大促會(huì)臨時(shí)進(jìn)行補(bǔ)充——增加CDN。在平時(shí)酒仙網(wǎng)酒仙網(wǎng)都會(huì)有CDN,但是不會(huì)那么多,平時(shí)主要是靜態(tài)內(nèi)容,比如說靜態(tài)專題,或者CSGS的圖片會(huì)采用CDN,動(dòng)態(tài)的內(nèi)容很少用到這個(gè)功能。但是在大促期間,酒仙網(wǎng)會(huì)大量接入CDN,根據(jù)預(yù)估量的大小,啟用對(duì)應(yīng)的CDN。同時(shí)為了能夠保證CDN的 加速效果能夠應(yīng)對(duì)大促峰值,酒仙網(wǎng)還采用了聽云Network對(duì)CDN的服務(wù)質(zhì)量進(jìn)行評(píng)估。

聽云Network——CDN分發(fā)策略

CDN節(jié)點(diǎn)的分布策略對(duì)提高網(wǎng)站性能至關(guān)重要。加速效果的除了節(jié)點(diǎn)數(shù)量外,最重要是節(jié)點(diǎn)的科學(xué)分布和配置;

聽云Network會(huì)對(duì)CDN服務(wù)提供商的服務(wù)質(zhì)量進(jìn)行監(jiān)測(cè),通過監(jiān)測(cè)數(shù)據(jù)科學(xué)分析CDN節(jié)點(diǎn)分布的合理性,對(duì)CDN節(jié)點(diǎn)的策略進(jìn)行調(diào)整。

(2)對(duì)數(shù)據(jù)庫(kù)性能進(jìn)行監(jiān)測(cè)。無論哪家電商,只要在大促期間,性能及可用性都是最優(yōu)先考慮的問題。首先酒仙網(wǎng)會(huì)采用聽云Server對(duì)服務(wù)器進(jìn)行實(shí)時(shí)監(jiān)測(cè),能夠?qū)Ψ?wù)器響應(yīng)慢和不可用進(jìn)行定位,查看慢應(yīng)用追蹤和Web應(yīng)用過程功能,能夠?qū)崟r(shí)定位消耗資源最大的代碼和語句,這樣就能幫 助實(shí)時(shí)進(jìn)行有針對(duì)性的調(diào)整和優(yōu)化,并且可以快速定位問題時(shí)間,最快能到分鐘級(jí)別。

另外,在發(fā)生高并發(fā)、服務(wù)器壓力激增的情況時(shí),平時(shí)運(yùn)行正常的服務(wù)器異常概率大幅增加,日??赡艿男阅芷款i點(diǎn)會(huì)被成倍放大,這就需要實(shí)時(shí)定位和解決性能瓶頸點(diǎn),和提前進(jìn)行預(yù)防改善。一般來說,傳統(tǒng)日志收集方式耗時(shí)耗力,效果非常不好,酒仙網(wǎng)用了聽云Server后,可以進(jìn)行1分鐘級(jí)定位能迅速有效發(fā)現(xiàn)瓶頸點(diǎn)。同時(shí)還結(jié)合了聽云Network的壓測(cè)功能,能夠在服務(wù)器上線前提前發(fā)現(xiàn)到高壓力下的瓶頸點(diǎn),提前預(yù)防,避免由于高并發(fā)出現(xiàn)的服務(wù)器瓶頸。

由此,當(dāng)高并發(fā)大流量進(jìn)入時(shí),如果說性能達(dá)不到,酒仙網(wǎng)會(huì)采取臨時(shí)的解決方案,比如說上FIO卡,上負(fù)載硬盤,以及減緩數(shù)據(jù)庫(kù)的壓力,或者增加緩存量等。有一些關(guān)鍵性的業(yè)務(wù),緩存時(shí)間比較短,有一些業(yè)務(wù)可能不用緩存。這個(gè)時(shí)候如果說預(yù)估超出系統(tǒng)承載量的話,這時(shí)候可增加緩存的使用,把時(shí)間延長(zhǎng)。

(3)酒仙網(wǎng)的系統(tǒng)中有很多的機(jī)房,會(huì)在全國(guó)各地進(jìn)行布點(diǎn)。同時(shí),大促期間的互聯(lián)網(wǎng)環(huán)境比較復(fù)雜,那么這就導(dǎo)致了它可能會(huì)出現(xiàn)的故障不確定。比如說雙十一,各大電商都做電商,整個(gè)互聯(lián)網(wǎng)的效率都滯后,那么這樣在全國(guó)各地布的機(jī)房,可能便會(huì)出現(xiàn)數(shù)據(jù)延遲的問題。此時(shí),酒仙網(wǎng)便會(huì)利用聽云Network進(jìn)行實(shí)時(shí)的監(jiān)控。比如說酒仙網(wǎng)通過聽云Network發(fā)現(xiàn)節(jié)點(diǎn)存在故障的話,那么便會(huì)立刻進(jìn)行故障切換,臨時(shí)的不使用這個(gè)節(jié)點(diǎn)。比如說有一些地方的CDN可能出現(xiàn)問題,有一些地方不會(huì),酒仙網(wǎng)會(huì)把這個(gè)出現(xiàn)問題的機(jī)器替換,把有故障切換到另外一個(gè)機(jī)房去。一般大促前兩天都會(huì)有人實(shí)時(shí)盯著整個(gè)過程的發(fā)展。

(4)大促期間會(huì)使用數(shù)據(jù)沙盤。每一次大促時(shí)都會(huì)有一個(gè)關(guān)于整個(gè)動(dòng)態(tài)過程的數(shù)據(jù),這個(gè)動(dòng)態(tài)不完全是實(shí)時(shí)的,但是基本上是實(shí)時(shí)的。通過沙盤,酒仙網(wǎng)可以看到系統(tǒng)運(yùn)作情況,這可為銷售工作提供實(shí)時(shí)的應(yīng)變,比如說哪個(gè)地方哪個(gè)酒賣的好,哪個(gè)地方的促銷需要調(diào)整,酒仙網(wǎng)會(huì)實(shí)時(shí)監(jiān)控?cái)?shù)據(jù)沙盤實(shí)時(shí)調(diào)整戰(zhàn)略。

4、其他想談的

(1)談到如何應(yīng)對(duì)復(fù)雜的業(yè)務(wù)模式,酒仙網(wǎng)認(rèn)為現(xiàn)在無論是底層架構(gòu),還是數(shù)據(jù)層面搭建著跨公司的大數(shù)據(jù)平臺(tái),比如倉(cāng)庫(kù)平臺(tái)、運(yùn)營(yíng)管理平臺(tái)、倉(cāng)儲(chǔ)平臺(tái)、供應(yīng)鏈體系,以及供應(yīng)商管理、銷售預(yù)測(cè)、庫(kù)存分配等需求,都已經(jīng)用大數(shù)據(jù)的方法逐步開始搭建了起來。酒仙網(wǎng)實(shí)施了以算法為指導(dǎo)的智能化的處理,比如每年1月份的時(shí)候茅臺(tái)酒都是缺貨的時(shí)候,但是如果之前沒有做1月前的茅臺(tái)儲(chǔ)備的話,就很可能會(huì)造成3000-5000萬的損失。所以酒仙網(wǎng)把大數(shù)據(jù)的倉(cāng)儲(chǔ)管理、銷售預(yù)測(cè)、庫(kù)存分配都抓了起來,進(jìn)行了自行研發(fā)。類似于這樣偏傳統(tǒng)的業(yè)務(wù),酒仙網(wǎng)并沒有采用第三方,因?yàn)樗哪繕?biāo)是成為一個(gè)千億級(jí)的電商公司,所以無論是從業(yè)務(wù)的布局、人員的選擇還是公司的設(shè)立都是按照那個(gè)標(biāo)準(zhǔn)去設(shè)想的,因此就要培養(yǎng)自己的技術(shù)力量,專門型人才,然后由這些人去支持酒仙網(wǎng)成為一個(gè)千億級(jí)的公司。

(2)面對(duì)新技術(shù),比如微服務(wù)上,酒仙網(wǎng)也一直在探討,但還沒有形成大范圍。微服務(wù)或者SOA化,無論是什么樣的電商公司,創(chuàng)業(yè)型的公司,還是目前酒仙網(wǎng)的規(guī)模,亦或者當(dāng)當(dāng)、京東,都是必須要走的。無論是從項(xiàng)目的管理、技術(shù)的管理還是運(yùn)維部署的管理,面對(duì)這種快速增長(zhǎng)的流量,不斷的迭代變化的需求,以及幾百幾千的團(tuán)隊(duì)協(xié)作的分工上,都是必須要走服務(wù)化的過程的。其實(shí)酒仙網(wǎng)在最近的半年中,圍繞電商業(yè)務(wù)的服務(wù)化,架構(gòu)也在進(jìn)行著調(diào)整,希望能在銷售旺季來臨之前,能夠把賣場(chǎng)、購(gòu)物體系的服務(wù)化能夠有一個(gè)第一階段的上線。對(duì)于Docker的排期部署,也是和酒仙網(wǎng)的混合云高相關(guān)的,所以在這方面花了很多精力去研究和探討怎么去做快速部署和彈性部署。

申請(qǐng)創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!

相關(guān)標(biāo)簽
酒類電商
訪問量

相關(guān)文章

熱門排行

信息推薦