www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > > 充電吧
[導(dǎo)讀]“好的架構(gòu)圖充滿美感”,一個架構(gòu)好不好,從審美的角度就能看得出來。后來我看了很多系統(tǒng)的架構(gòu),發(fā)現(xiàn)這個言論基本成立。那么反觀淘寶前面的兩個版本的架構(gòu),你看哪個比較美?顯然第一個比較好看,后面那

“好的架構(gòu)圖充滿美感”,一個架構(gòu)好不好,從審美的角度就能看得出來。后來我看了很多系統(tǒng)的架構(gòu),發(fā)現(xiàn)這個言論基本成立。那么反觀淘寶前面的兩個版本的架構(gòu),你看哪個比較美?

顯然第一個比較好看,后面那個顯得頭重腳輕,這也注定了它不是一個穩(wěn)定的版本,只存活了不到半年的時間。2004年初,SQL Relay的問題解決不了,數(shù)據(jù)庫必須要用Oracle,那從哪里動刀?只有換開發(fā)語言了。換什么語言好呢?Java。Java是當(dāng)時最成熟的網(wǎng)站開發(fā)語言,它有比較良好的企業(yè)開發(fā)框架,被世界上主流的大規(guī)模網(wǎng)站普遍采用,另外有Java開發(fā)經(jīng)驗的人才也比較多,后續(xù)維護成本會比較低。

到2004年上半年,淘寶網(wǎng)已經(jīng)運行了一年的時間,這一年積累了大量的用戶,也快速的開發(fā)了很多功能,當(dāng)時這個網(wǎng)站已經(jīng)很龐大了,而且新的需求還在源源不斷的過來。把一個龐大的網(wǎng)站的開發(fā)語言換掉,無異于脫胎換骨,在換的過程中還不能拖慢業(yè)務(wù)的發(fā)展,這無異于邊換邊跑,對時間和技術(shù)能力的要求都非常高。做這樣的手術(shù),需要請第一流的專家來主刀。現(xiàn)在再考一下讀者,如果你在這個創(chuàng)業(yè)團隊里面,請什么樣的人來做這事?我們的答案是請Sun的人。沒錯,就是創(chuàng)造Java語言的那家公司,世界上沒有比他們更懂Java的了。除此之外,還有一個不為人知的原因,……(此處和諧掉200字,完整版見aliway)

這幫Sun的工程師的確很強大,在筆者2004年底來淘寶的時候,他們還在,有幸跟他們共事了幾個月?,F(xiàn)在擺在他們面前的問題是用什么辦法把一個龐大的網(wǎng)站從PHP語言遷移到Java?而且要求在遷移的過程中,不停止服務(wù),原來系統(tǒng)的bugfix和功能改進不受影響。親,你要是架構(gòu)師,你怎么做?有人的答案是寫一個翻譯器,如同把中文翻譯成英文一樣,自動翻譯。我只能說你這個想法太超前了,換個說法就是“too simple, sometimes naive”。當(dāng)時沒有,現(xiàn)在也沒有人能做到。他們的大致方案是給業(yè)務(wù)分模塊,一個模塊一個模塊的替換。如用戶模塊,老的member.taobao.com繼續(xù)維護,不添加新功能,新的功能先在新的模塊上開發(fā),跟老的共用一個數(shù)據(jù)庫,開發(fā)完畢之后放到不同的應(yīng)用集群上,另開個域名member1.taobao.com,同時替換老的功能,替換一個把老的模塊上的功能關(guān)閉一個,逐漸的把用戶引導(dǎo)到member1.taobao.com,等所有功能都替換完畢之后,關(guān)閉member.taobao.com。后來很長時間里面都是在用member1這樣奇怪的域名,兩年后有另外一家互聯(lián)網(wǎng)公司開始做電子商務(wù)了,我們發(fā)現(xiàn)他們的域名也叫member1.xx.com、auction1.xx.com……

說了開發(fā)模式,再說說用到的Java MVC框架,當(dāng)時的struts1.x是用的比較多的框架,但是用過webwork和struts2的同學(xué)可能知道,struts1.x在多人協(xié)作方面有很多致命的弱點,由于沒有一個輕量框架作為基礎(chǔ),因此很難擴展,這樣架構(gòu)師對于基礎(chǔ)功能和全局功能的控制就很難做到。而阿里巴巴的18個創(chuàng)始人之中,有個架構(gòu)師,在Jakarta Turbine的基礎(chǔ)上,做了很多擴展,打造了一個阿里巴巴自己用的MVC框架WebX ( http://www.openwebx.org/docs/Webx3_Guide_Book.html ),這個框架易于擴展,方便組件化開發(fā),它的頁面模板支持JSP和velocity等、持久層支持ibatis和hibernate等、控制層可以用EJB和Spring(Spring是后來才有的)。項目組選擇了這個強大的框架,這個框架如果當(dāng)時開源了,也許就沒有webwork和struts2什么事了。另外,當(dāng)時Sun在全世界大力推廣他們的EJB,雖然淘寶的架構(gòu)師認(rèn)為這個東東用不到,但他們還是極力堅持。在經(jīng)歷了很多次的技術(shù)討論、爭論和爭吵之后,這個系統(tǒng)的架構(gòu)就變成了下圖的樣子:

[!--empirenews.page--]

Java應(yīng)用服務(wù)器是Weblogic,MVC框架是WebX、控制層用了EJB、持久層是ibatis,另外為了緩解數(shù)據(jù)庫的壓力,商品查詢和店鋪查詢放在搜索引擎上面。這個架構(gòu)圖是不是好看了一點了,親?

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

其實在任何時候,開發(fā)語言本身都不是系統(tǒng)的瓶頸,業(yè)務(wù)帶來的壓力更多的是壓到了數(shù)據(jù)和存儲上。上面一篇也說到,MySQL撐不住了之后換Oracle,Oracle的存儲一開始在本機上,后來在NAS上,NAS撐不住了用EMC的SAN存儲,再然后Oracle的RAC撐不住了,數(shù)據(jù)的存儲方面就不得不考慮使用小型機了。在2004年的夏天,DBA七公、測試工程師郭芙和架構(gòu)師行癲,踏上了去北京測試小型機的道路。他們帶著小型機回來的時候,我們像歡迎領(lǐng)袖一樣的歡迎他們,因為那個是我們最值錢的設(shè)備了,價格表上的數(shù)字嚇?biāo)廊?。小型機買回來之后我們爭相合影,然后Oracle就跑在了小型機上,存儲方面從EMC低端cx存儲到Sun oem hds高端存儲,再到EMC dmx高端存儲,一級一級的往上跳。

到現(xiàn)在為止,我們已經(jīng)用上了IBM的小型機、Oracle的數(shù)據(jù)庫、EMC的存儲,這些東西都是很貴的,那些年可以說是花錢如流水啊。有人說過“錢能解決的問題,就不是問題”,但隨著淘寶網(wǎng)的發(fā)展,在不久以后,錢已經(jīng)解決不了我們的問題了。花錢買豪華的配置,也許能支持1億PV的網(wǎng)站,但淘寶網(wǎng)的發(fā)展實在是太快了,到了10億怎么辦?到了百億怎么辦?在N年以后,我們不得不創(chuàng)造技術(shù),解決這些只有世界頂尖的網(wǎng)站才會遇到的問題。后來我們在開源軟件的基礎(chǔ)上進行自主研發(fā),一步一步的把IOE(IBM小型機、Oracle、EMC存儲)這幾個“神器”都去掉了。這就如同在《西游記》里面,妖怪們拿到神仙的兵器會非常厲害,連猴子都能夠打敗,但最牛的神仙是不用這些神器的,他們揮一揮衣袖、翻一下手掌就威力無比。去IOE這一部分會在最后一個章節(jié)里面講,這里先埋個千里伏筆。

 

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉