<b>淘寶網(wǎng)技術(shù)發(fā)展回顧(四):Java時(shí)代 脫胎換骨</b>

作者: 來源:未知 2012-03-10 00:19:52 閱讀 我要評(píng)論 直達(dá)商品

  我的師父黃裳@岳旭強(qiáng)曾經(jīng)說過,“好的架構(gòu)圖布滿美感”,一個(gè)架構(gòu)好欠好,年夜審美的角度就能看得出來。后來我看了良多系統(tǒng)的架構(gòu),發(fā)現(xiàn)這個(gè)談吐根基成立。那么反不美觀淘寶前面的兩個(gè)版本的架構(gòu),你看哪個(gè)斗勁美?

  

 

  

 

  顯然第一個(gè)斗勁讀假爆后面阿誰(shuí)顯頷首重腳輕,這也注定了它不是一個(gè)不變的版本,只存活了不到半年的時(shí)刻。2004歲首,SQL Relay的問題解決不了,數(shù)據(jù)庫(kù)必需要用Oracle,那年夜哪里動(dòng)刀?只有換開發(fā)說話了。換什媚暌癸言好呢?Java。Java是那時(shí)最成熟的網(wǎng)站開發(fā)說話,它有斗勁精采的企業(yè)開發(fā)框架,被世界上主流的年夜規(guī)模網(wǎng)站普遍采用,此外有Java開發(fā)經(jīng)驗(yàn)的人才也斗勁多,后續(xù)維護(hù)成本會(huì)斗勁低。

  到2004年上半年,淘寶網(wǎng)已經(jīng)運(yùn)行了一年的時(shí)刻,這一年堆集了年夜量的用戶,也快速的開發(fā)了良多功能,那時(shí)這個(gè)網(wǎng)站已經(jīng)很復(fù)雜了,而且新的需求還在源源不竭的過來。把一個(gè)復(fù)雜的網(wǎng)站的開發(fā)說話換失蹤,無(wú)異于脫胎換骨,在換的過程中還不能拖慢營(yíng)業(yè)的成長(zhǎng),這無(wú)異于邊換邊跑,對(duì)時(shí)刻和手藝能力的要求都很是高。做這樣的手術(shù),需要請(qǐng)第一流的專家來主刀。此刻再考一下讀者,如不美觀你在這個(gè)創(chuàng)業(yè)團(tuán)隊(duì)瑯縵沔,請(qǐng)什么樣的人來做這事?我們的謎底是請(qǐng)Sun的人。沒錯(cuò),就是締造Java說話的那家公司,世界膳縵慊有比他們更懂Java的了。除此之外,還有一個(gè)不為人知的原因,……(此處協(xié)調(diào)失蹤200字,完整版見aliway)

  這幫Sun的工程師簡(jiǎn)直很強(qiáng)年夜,在筆者2004年尾來淘寶的時(shí)辰,他們還在,有幸跟他們共事了幾個(gè)月。此刻擺在他們面前的問題是用什么法子把一個(gè)復(fù)雜的網(wǎng)站年夜PHP說話遷移到Java?而且要求在遷移的過程中,不竭止處事,原本系統(tǒng)的bugfix和功能改良不受影響。親,你若是架構(gòu)師,你怎么做?有人的謎底是寫一個(gè)翻譯器,如同把中文翻譯成英文一樣,自動(dòng)翻譯。我只能說你這個(gè)設(shè)法太超前了,換個(gè)說法就是“too simple, sometimes naive”。那時(shí)沒有,此刻也沒有人能做到。他們的年夜致方案是給營(yíng)業(yè)分模塊,一個(gè)模塊一個(gè)模塊的替代。如用戶模塊,老的member.taobao.com繼續(xù)維護(hù),不添加新功能,新的功能先在新的模塊上開發(fā),跟老的共用一個(gè)數(shù)據(jù)庫(kù),開發(fā)完畢之后放到分歧的應(yīng)用集群上,另開個(gè)域名member1.taobao.com,同時(shí)替代老的功能,替代一個(gè)把老的模塊上的功能封鎖一個(gè),逐漸的把用戶指導(dǎo)到member1.taobao.com,等所有功能都替代完畢之后,封鎖member.taobao.com。后來很長(zhǎng)時(shí)刻瑯縵沔都是在用member1這樣奇異的域名,兩年后有此外一家互聯(lián)網(wǎng)公司起頭做電子商務(wù)了,我們發(fā)現(xiàn)他們的域名也叫member1.xx.com、auction1.xx.com……

  說了開發(fā)模式,再說說用到的Java MVC框架,那時(shí)的struts1.x是用的斗勁多的框架,可是用過webwork和struts2的同窗可能知道,struts1.x在多人協(xié)作方面有良多致命的弱點(diǎn),因?yàn)闆]有一個(gè)輕量框架作為基本,是以很難擴(kuò)展,這樣架構(gòu)師對(duì)于基本功能和全局功能的節(jié)制就很難做到。而阿里巴巴的18個(gè)創(chuàng)始人之中,有個(gè)架構(gòu)師,在Jakarta Turbine的基本上,做了良多擴(kuò)展,打造了一個(gè)阿里巴巴自己用的MVC框架WebX (http://www.openwebx.org/docs/Webx3_Guide_Book.html ),這個(gè)框架易于擴(kuò)展,便利組件化開發(fā),它的頁(yè)面模板撐持JSP和velocity等、持久層撐持ibatis和hibernate等、節(jié)制層可以用EJB和Spring(Spring是后來才有的)。項(xiàng)目組選擇了這個(gè)強(qiáng)年夜的框架,這個(gè)框架如不美觀那時(shí)開源了,也許就沒有webwork和struts2什么事了。此外,那時(shí)Sun在全世界鼎力推廣他們的EJB,雖然淘寶的架構(gòu)師認(rèn)為這個(gè)東東用不到,但他們?nèi)允撬懒?jiān)持。在履歷了良多次的手藝談判、爭(zhēng)論和爭(zhēng)吵之后,這個(gè)系統(tǒng)的架構(gòu)就釀成了下圖的樣子:

  

 

  Java應(yīng)用處事器是Weblogic,MVC框架是WebX、節(jié)制層用了EJB、持久層是ibatis,此外為了緩解數(shù)據(jù)庫(kù)的壓力,商品發(fā)芽和店肆發(fā)芽放在搜索引擎膳縵沔。這個(gè)架構(gòu)圖是不是雅觀了一點(diǎn)了,親?

  這幫Sun的工程師開發(fā)完淘寶的網(wǎng)站之后,又做了一個(gè)很牛的網(wǎng)站,叫“支出寶”。

  其其實(shí)任何時(shí)辰,開發(fā)說話自己都不是系統(tǒng)的瓶頸,營(yíng)業(yè)帶來的壓力更多的是壓到了數(shù)據(jù)和存儲(chǔ)上。膳縵沔一篇也說到,MySQL撐不住了之后換Oracle,Oracle的存儲(chǔ)一路頭在本機(jī)上,后來在NAS上,NAS撐不住了用EMC的SAN存儲(chǔ),再然后Oracle的RAC撐不住了,數(shù)據(jù)的存儲(chǔ)方面就不得不考慮使用小型機(jī)了。在2004年的炎天,DBA七公、測(cè)試工程師郭芙和架構(gòu)師行癲,踏上了去北京測(cè)試小型機(jī)的道路。他們帶著小型機(jī)回來的時(shí)辰,我們像接待翹楚一樣的接待他們,因?yàn)榘⒄l(shuí)是我們最值錢的設(shè)備了,價(jià)錢表上的數(shù)字嚇?biāo)廊。小型機(jī)買回來之后我們爭(zhēng)相合影,然后Oracle就跑在了小型機(jī)上,存儲(chǔ)方面年夜EMC低端cx存儲(chǔ)到Sun oem hds高端存儲(chǔ),再到EMC dmx高端存儲(chǔ),一級(jí)一級(jí)的往上跳。

  到此刻為止,我們已經(jīng)用上了IBM的小型機(jī)、Oracle的數(shù)據(jù)庫(kù)、EMC的存儲(chǔ),這些工具都是很貴的,那些年可以說是花錢如流水啊。有人說過“錢能解決的問題,就不是問題”,但跟著淘寶網(wǎng)的成長(zhǎng),在不久往后,錢已經(jīng)解決不了我們的問題了;ㄥX買豪華的設(shè)置裝備擺設(shè),也許能撐持1億PV的網(wǎng)站,但淘寶網(wǎng)的成長(zhǎng)其實(shí)是太快了,到了10億怎么辦?到了百億怎么辦?在N年往后,我們不得不締造手藝,解決這些只有世界頂尖的網(wǎng)站才會(huì)碰著的問題。后來我們?cè)陂_源軟件的基本長(zhǎng)進(jìn)行自立研發(fā),一步一步的把IOE(IBM小型機(jī)、Oracle、EMC存儲(chǔ))都去失蹤了。這就如同在《西枷肝⒎瑯縵沔,魔鬼們拿到仙人的刀兵會(huì)很是厲害,連山公都能夠打敗,但最牛的仙人是不用這些神器的,他們揮一揮衣袖、翻一下手掌就威力無(wú)比。去IOE這一部門會(huì)在最后一個(gè)章節(jié)瑯縵惴悍含這里先埋個(gè)千里伏筆。

  欲知后事若何,且聽下回分化。


  推薦閱讀

  影響用戶購(gòu)買幾個(gè)原因 有的放矢或會(huì)提高轉(zhuǎn)化率

一個(gè)網(wǎng)站年夜上線到第一個(gè)訪謁者的到來,然后固定了必然的流量之后,站長(zhǎng)們下一步的中心就是若何提高網(wǎng)站用戶的轉(zhuǎn)化率了。用戶轉(zhuǎn)化率的凹凸和盈利直接掛鉤的,所以,若何給用戶一個(gè)精采的體驗(yàn),是網(wǎng)站后期工作的重心>>>詳細(xì)閱讀


本文標(biāo)題:<b>淘寶網(wǎng)技術(shù)發(fā)展回顧(四):Java時(shí)代 脫胎換骨</b>

地址:http://www.sdlzkt.com/a/22/20120310/38958.html

樂購(gòu)科技部分新聞及文章轉(zhuǎn)載自互聯(lián)網(wǎng),供讀者交流和學(xué)習(xí),若有涉及作者版權(quán)等問題請(qǐng)及時(shí)與我們聯(lián)系,以便更正、刪除或按規(guī)定辦理。感謝所有提供資訊的網(wǎng)站,歡迎各類媒體與樂購(gòu)科技進(jìn)行文章共享合作。

網(wǎng)友點(diǎn)評(píng)
我的評(píng)論: 人參與評(píng)論
驗(yàn)證碼: 匿名回答
網(wǎng)友評(píng)論(點(diǎn)擊查看更多條評(píng)論)
友情提示: 登錄后發(fā)表評(píng)論,可以直接從評(píng)論中的用戶名進(jìn)入您的個(gè)人空間,讓更多網(wǎng)友認(rèn)識(shí)您。
自媒體專欄

評(píng)論

熱度

主站蜘蛛池模板: 欧美亚洲国产成人不卡| 久久亚洲精品成人777大小说| 国产精品成人无码久久久| 69堂国产成人精品视频不卡| 久久亚洲国产成人精品无码区 | 亚洲国产成人久久综合一| 亚洲精品成人a在线观看| 久久久久亚洲AV成人无码电影| www成人在线观看| 国产成人精品亚洲2020| 亚洲av无码成人精品区狼人影院| 91成人免费观看| 国内外成人免费视频| 亚洲午夜成人片| 国产精品成人va在线观看| 亚洲国产成人久久综合一区| 国产成人高清精品免费软件| 香蕉久久成人网| 国产成人久久精品二区三区| 欧美成人黄色片| 国产成人精品久久综合| 亚洲高清成人欧美动作片| 成人午夜精品无码区久久| 久久久久亚洲av成人网人人软件 | 中文成人无字幕乱码精品区 | 欧美成人免费一级人片| 亚洲国产成人资源在线软件| 国产成人黄色小说| 成人网站在线进入爽爽爽| 久久久久成人精品无码| 亚洲欧美精品成人久久91| 国产成人亚洲综合| 国产成人精品999在线观看| 国产成人精品怡红院在线观看| 欧美成人精品第一区| 成人欧美一区二区三区小说| 中文国产成人精品久久app| 四虎精品成人免费视频| 亚洲精品午夜国产va久久成人| 国产成人综合久久精品免费| 国产精品成人一区二区三区|