中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

淘寶技術(shù)發(fā)展(分布式時(shí)代:服務(wù)化)

2019-04-03    來(lái)源:趙超的博客

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

在系統(tǒng)發(fā)展的過(guò)程中,架構(gòu)師的眼光至關(guān)重要,作為程序員,把功能實(shí)現(xiàn)即可,但作為架構(gòu)師,要考慮系統(tǒng)的擴(kuò)展性、重用性,這種敏銳的感覺(jué),有人說(shuō)是一種代碼潔癖。淘寶早期有幾個(gè)架構(gòu)師具備了這種感覺(jué)。一指開(kāi)發(fā)的Webx是一個(gè)擴(kuò)展性很強(qiáng)的框架,行癲在這個(gè)框架上插入了數(shù)據(jù)分庫(kù)路由的模塊、session框架等等。在做淘寶后臺(tái)系統(tǒng)的時(shí)候,同樣需要這幾個(gè)模塊,行癲指導(dǎo)我把這些模塊單獨(dú)打成了jar包。另外在做淘寶機(jī)票、彩票系統(tǒng)的時(shí)候,頁(yè)面端也有很多東西需要復(fù)用,最直觀的是頁(yè)頭和頁(yè)腳,一開(kāi)始我們每個(gè)系統(tǒng)里面復(fù)制了一份過(guò)去,但奇妙的是,那段時(shí)間頁(yè)腳要經(jīng)常修改,例如把“雅虎中國(guó)”改成“中國(guó)雅虎”,過(guò)一段時(shí)間又加了一個(gè)“口碑網(wǎng)”,再過(guò)一段時(shí)間變成了“雅虎口碑”,最后又變成了“中國(guó)雅虎”,每個(gè)系統(tǒng)都改一遍,折騰啊。后來(lái)我就把這部分velocity模版單獨(dú)拿出來(lái)了,做成了公用的模塊。

上面這些都是比較小的復(fù)用模塊,到2006年我們做了一個(gè)商品類目屬性的改造,在類目里面引入屬性的概念。項(xiàng)目的代號(hào)叫做“泰山”,如同它的名字,這是一個(gè)舉足輕重的項(xiàng)目,這個(gè)改變是一個(gè)劃時(shí)代的創(chuàng)新。在這之前的三年時(shí)間內(nèi),商品的分類都是按照樹(shù)狀的一級(jí)一級(jí)的節(jié)點(diǎn)來(lái)分的,隨著商品數(shù)量的增長(zhǎng),類目也變得越來(lái)越深,越來(lái)越復(fù)雜,這帶給買家的就是查找一件商品要逐級(jí)類目點(diǎn)開(kāi),找商品之前要懂商品的分類。而淘寶運(yùn)營(yíng)部門管理類目的小二也發(fā)現(xiàn)一個(gè)很嚴(yán)重的問(wèn)題——例如男裝里面有T恤、T恤下面有耐克、耐克有純棉的,女裝里面也有T恤、T恤下面還是有耐克、耐克下面依然有純棉的,那是先分男女裝再分款式再分品牌再分材質(zhì)呢?還是先分品牌再分款式再分材質(zhì)再分男女呢?暈倒了。這時(shí)候,一位大俠出來(lái)了——一燈,他說(shuō)品牌、款式、材質(zhì)這種東東可以叫做“屬性”,屬性是類似tag的一個(gè)概念,與類目相比更加離散,更加靈活,這樣也縮減了類目的深度。這個(gè)思想的提出,一舉解決了分類的難題!從系統(tǒng)的角度來(lái)看,我們建立了“屬性”這樣一個(gè)數(shù)據(jù)結(jié)構(gòu),由于除了類目的子節(jié)點(diǎn)有屬性,父節(jié)點(diǎn)也有可能有屬性,于是類目屬性合起來(lái)也是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)對(duì)象。這個(gè)做出來(lái)之后我們把它獨(dú)立出來(lái)作為一個(gè)服務(wù),叫做catserver(category server)。跟類目屬性密切關(guān)聯(lián)的商品搜索功能,獨(dú)立出來(lái),叫做hesper(金星),catserver和hesper供淘寶的前后臺(tái)系統(tǒng)調(diào)用。

現(xiàn)在淘寶的商品類目屬性已經(jīng)是地球上最大的了,幾乎沒(méi)有什么類目的商品在淘寶上找不到(除了違禁的),但最初類目屬性改造完之后,我們很缺屬性數(shù)據(jù),尤其是數(shù)碼類的最缺。那從哪里弄這些數(shù)據(jù)呢親?我們跟“中關(guān)村在線”合作,拿到了很多數(shù)據(jù),那個(gè)時(shí)候,很多商品屬性信息的后邊標(biāo)注著:“來(lái)自中關(guān)村在線”。有了類目屬性,給運(yùn)營(yíng)的工作帶來(lái)很大的便利,我們知道淘寶的運(yùn)營(yíng)主要就是類目的運(yùn)營(yíng),什么季節(jié)推什么商品,都要在類目屬性上面做調(diào)整,讓買家更容易找到。例如夏天我要用戶在女裝一級(jí)類目下就標(biāo)出來(lái)材質(zhì)是不是蕾絲的、是不是純棉的,冬天卻要把羽絨衣調(diào)到女裝一級(jí)類目下,流行什么就要把什么商品往更高級(jí)的類目調(diào)整。這樣類目和屬性要經(jīng)常調(diào)整,隨之而來(lái)的問(wèn)題就顯現(xiàn)了——調(diào)整到哪個(gè)類目,那類商品的賣家就要編輯一次自己的商品,隨著商品量的增長(zhǎng),賣家的工作量越來(lái)越大,然后我們就發(fā)現(xiàn)賣家受不了啦。到了2008年,我們研究了超市里面前后臺(tái)商品的分類,發(fā)現(xiàn)超市前臺(tái)商品可以隨季節(jié)和關(guān)聯(lián)來(lái)調(diào)整擺放場(chǎng)景(例如著名的啤酒和尿布的關(guān)聯(lián)),后臺(tái)倉(cāng)庫(kù)里面要按照自然類目來(lái)存儲(chǔ),二者密切關(guān)聯(lián)卻又相互分開(kāi)。然后我們就把前后臺(tái)類目分開(kāi)了,這樣賣家發(fā)布商品選擇的是自然類目和屬性,淘寶前臺(tái)展示的是根據(jù)運(yùn)營(yíng)需要而擺放的商品的類目和屬性。改造后的類目屬性服務(wù)取名叫做forest(森林,跟類目屬性有點(diǎn)神似。catserver還在,提供賣家授權(quán)、品牌服務(wù)、關(guān)鍵詞等相關(guān)的服務(wù))。類目屬性的服務(wù)化,是淘寶在系統(tǒng)服務(wù)化方面做的第一個(gè)探索。

雖然個(gè)別架構(gòu)師具備了代碼潔癖,但淘寶前臺(tái)系統(tǒng)的業(yè)務(wù)量和代碼量還是爆炸式的增長(zhǎng)了起來(lái)。業(yè)務(wù)方總在后面催,開(kāi)發(fā)人員不夠了就繼續(xù)招人,招來(lái)的人根本看不懂原來(lái)的業(yè)務(wù),只好摸索著在“合適的地方”加一些“合適的代碼”,看看運(yùn)行起來(lái)像那么回事,就發(fā)布上線了。在這樣的惡性循環(huán)中,系統(tǒng)越來(lái)越臃腫,業(yè)務(wù)的耦合性越來(lái)越高,開(kāi)發(fā)的效率越來(lái)越低。借用當(dāng)時(shí)比較流行的一句話“寫(xiě)一段代碼,編譯一下能通過(guò),半個(gè)小時(shí)就過(guò)去了;編譯一下沒(méi)通過(guò),半天就過(guò)去了。”在這種情況下,系統(tǒng)出錯(cuò)的概率也逐步增長(zhǎng),常常是你改了商品相關(guān)的某些代碼,發(fā)現(xiàn)交易出問(wèn)題了,甚至你改了論壇上的某些代碼,旺旺出問(wèn)題了。這讓開(kāi)發(fā)人員苦不堪言,而業(yè)務(wù)方還認(rèn)為這幫人干活越來(lái)越慢了。

大概是在2007年底的時(shí)候,研發(fā)部空降了一位從硅谷來(lái)的高管,空聞大師?章勈且晃粶睾竦拈L(zhǎng)者,他告訴我們一切要以穩(wěn)定為中心,所有影響系統(tǒng)穩(wěn)定的因素都要解決掉。例如每做一個(gè)日常修改,都必須整個(gè)系統(tǒng)回歸測(cè)試一遍;多個(gè)日常修改如果放在一個(gè)版本里面,要是一個(gè)功能沒(méi)有測(cè)試通過(guò),整個(gè)系統(tǒng)都不能發(fā)布。我們把這個(gè)叫做“火車模型”,任何一個(gè)乘客沒(méi)有上車,都不許發(fā)車。這樣做的最直接后果就是火車一直晚點(diǎn),新功能上線更慢了,我們能明顯的感覺(jué)到業(yè)務(wù)方的不滿,空聞的壓力肯定非常大。當(dāng)時(shí)我都不理解這種一刀切的做法,為了穩(wěn)定犧牲了發(fā)展的速度,這跟某Party的“穩(wěn)定壓倒一切”有什么分別?

但是到現(xiàn)在回過(guò)頭來(lái)看看,其實(shí)我們并沒(méi)有理解背后的思路。正是在這種要求下,我們不得不開(kāi)始改變一些東西,例如把回歸測(cè)試日;刻焱砩隙寂芤槐檎麄(gè)系統(tǒng)的回歸。還有就是在這種要求下,我們不得不對(duì)這個(gè)超級(jí)復(fù)雜的系統(tǒng)做肢解和重構(gòu),其中復(fù)用性最高的一個(gè)模塊——用戶信息模塊開(kāi)始拆分出來(lái)了,我們叫它UIC(user information center)。在UIC里面,它只處理最基礎(chǔ)的用戶信息操作,例如getUserById、getUserByName等等。

標(biāo)簽: 分布式 系統(tǒng)架構(gòu) 職場(chǎng)回顧 

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:解讀電商為了刺激銷售慣用的三種數(shù)字戰(zhàn)術(shù)

下一篇:XX家電賣場(chǎng)微博營(yíng)銷實(shí)戰(zhàn)案例