下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、淘寶網(wǎng)的開源架構(gòu)淘寶網(wǎng),是一個在線商品數(shù)量突破一億,日均成交額超過兩億元人民幣,注 冊用戶接近八千萬的大型電子商務網(wǎng)站,是亞洲最大的購物網(wǎng)站。那么對于淘寶 網(wǎng)這樣大規(guī)模的一個網(wǎng)站,我猜想大家一定會非常關(guān)心整個網(wǎng)站都采用了什么樣 的技術(shù)、產(chǎn)品和架構(gòu),也會很想了解在淘寶網(wǎng)中是否采用了開源的軟件或者是完 全采用的商業(yè)軟件。那么下面我就簡單的介紹一下淘寶網(wǎng)中應用的開源軟件。對于規(guī)模稍大的網(wǎng)站來說,其IT必然是一個服務器集群來提供網(wǎng)站服務, 數(shù)據(jù)庫也必然要和應用服務分開,有單獨的數(shù)據(jù)庫服務器。對于像淘寶網(wǎng)這樣規(guī) 模的網(wǎng)站而言,就是應用也分成很多組。那么下面,我就從應用服務器操作系統(tǒng)、 應用服務器軟件、W
2、eb Server、數(shù)據(jù)庫、開發(fā)框架等幾個方面來介紹一下淘寶網(wǎng) 中開源軟件的應用。操作系統(tǒng)我們首先就從應用服務器的操作系統(tǒng)說起。一個應用服務器,從軟件的角度 來說他的最底層首先是操作系統(tǒng)。要先選擇操作系統(tǒng),然后才是操作系統(tǒng)基礎(chǔ)上 的應用軟件。在淘寶網(wǎng),我們的應用服務器上采用的是Linux操作系統(tǒng)。Linux 操作系統(tǒng)從1991年第一次正式被公布到現(xiàn)在已經(jīng)走過了十七個年頭,在PC Server上有廣泛的應用。硬件上我們選擇PC Server而不是小型機,那么Server 的操作系統(tǒng)供我們選擇的一般也就是Linux,F(xiàn)reeBSD, windows 2000 Server 或者Windows Se
3、rver 2003。如果不準備采用微軟的一系列產(chǎn)品構(gòu)建應用,并且 有能力維護Linux或者FreeBSD,再加上成本的考慮,那么還是應該在Linux和 FreeBSD之間進行選擇。可以說,現(xiàn)在Linux和FreeBSD這兩個系統(tǒng)難分伯仲, 很難說哪個一定比另外一個要優(yōu)秀很多、能夠全面的超越對手,應該是各有所長。 那么在選擇的時候有一個因素就是企業(yè)的技術(shù)人員對于哪種系統(tǒng)更加的熟悉,這 個熟悉一方面是系統(tǒng)管理方面,另外一方面是對于內(nèi)核的熟悉,對內(nèi)核的熟悉對 于性能調(diào)優(yōu)和對操作系統(tǒng)進行定制剪裁會有很大的幫助。而應用全面的優(yōu)化、提 升性能也是從操作系統(tǒng)的優(yōu)化開始的。應用服務器在確定了服務器的硬件、服務
4、器的操作系統(tǒng)之后,下面我們來說說業(yè)務系統(tǒng) 的構(gòu)建。淘寶網(wǎng)有很多業(yè)務系統(tǒng)應用是基于JEE規(guī)范的系統(tǒng)。還有一些是CC+ 構(gòu)建的應用或者是Java構(gòu)建的Standalone的應用。那么我們要選擇一款實現(xiàn)了 JEE規(guī)范的應用服務器。我們的選擇是JBoss Applcation Server。JBoss AS是 RedHat的一個開源的支持JEE規(guī)范的應用服務器。在幾年前,如果采用Java技 術(shù)構(gòu)建互聯(lián)網(wǎng)應用或者企業(yè)級應用,在開源軟件中的選擇一般也就是Apache組 織的 Tomcat、JBoss 的 JBoss AS 和 Resin。嚴格意義上講,Tomcat 和 Resin 并 不能算是一個應用服務
5、器,他們是實現(xiàn)了部分J2EE規(guī)范的一個容器。而商業(yè)軟 件的選擇就是IBM的WebSphere和BEA的WebLogic。到了現(xiàn)在,除了 JBoss AS 外,Apache的Geronimo,Sun的Glassfish也都是很優(yōu)秀的JEE應用服務器。 也給現(xiàn)在的開發(fā)人員提供了更多的選擇。具體對于目前JEE應用服務器的比較。 這邊就不在贅述。在應用服務器前端,我們采用了 Web Server做了一次轉(zhuǎn)發(fā),我們選擇的Web 服務器是大名鼎鼎的Apache。幾年前,Apache幾乎是Linux系統(tǒng)上開源Web Server的唯一選擇。那個時候雖然也有一些其他的開源的Web Server,但是從 功能和
6、穩(wěn)定性上來說都無法和Apache相對。在今天來說,Lighty也會是一個非 常好的選擇Lighty是一個非常輕量級、占用內(nèi)存資源也比較少的Web Server。 雖然功能上沒有Apache強大,但是在不少場景下,性能是非常出色、強于Apache 的。而微軟的IIS,就只能工作在Windows的系統(tǒng)上了。并且使用IIS的話,基 本上也就是選擇了 ISAPI、ASP或者ASP.NET進行Web應用的開發(fā)了。數(shù)據(jù)庫說完了我們采用的操作系統(tǒng)、應用服務器、WebServer后,下面就來談談我 們的數(shù)據(jù)庫。在淘寶網(wǎng)的應用中,采用了兩種關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。一個是 Oracle 公司的 Oracle 10g
7、,另外一個是 Sun MySQL 的 MySQL。Oracle 是一款優(yōu) 秀的、廣泛采用的商業(yè)數(shù)據(jù)庫管理軟件。有很強大的功能和安全性,可以處理相 對海量的數(shù)據(jù)。而MySQL是一款非常優(yōu)秀的開源數(shù)據(jù)庫管理軟件,非常適合用多 臺PC Server組成多點的存儲節(jié)點陣列(這里我所指的不是MySQL自身提供的集 群功能),每單位的數(shù)據(jù)存儲成本也非常的低廉。用多臺PC Server安裝MySQL 組成一個存儲節(jié)點陣列,通過MySQL自身的Replication或者應用自身的處理, 可以很好的保證容錯(允許部分節(jié)點失效),保證應用的健壯性和可靠性??梢赃@ 么說,在關(guān)系數(shù)據(jù)庫管理系統(tǒng)的選擇上,可以考慮應用本
8、身的情況來決定。一個互聯(lián)網(wǎng)應用,除了服務器的操作系統(tǒng),Web Server軟件,應用服務器 軟件,數(shù)據(jù)庫軟件外,我們還會涉及到一些其他的系統(tǒng),比如一些中間件系統(tǒng)、 文件存儲系統(tǒng)、搜索、分布式框架、緩存系統(tǒng)等等。在淘寶網(wǎng),這些系統(tǒng)都是自 主開發(fā)的,沒有采用目前商業(yè)的或者開源的產(chǎn)品。有些系統(tǒng),會存在著一些開源 的產(chǎn)品或者商業(yè)產(chǎn)品。但是,考慮到淘寶網(wǎng)自己的需求和大并發(fā)量的壓力,這些 系統(tǒng)都選擇了自主開發(fā)框架。前面談的都是系統(tǒng)級的產(chǎn)品,下面我們說說開發(fā)框架的使用??赡苡信笥严?問,作為一個如此大規(guī)模的網(wǎng)站,淘寶網(wǎng)的Web展現(xiàn)層采用的是什么框架,是怎 么實現(xiàn)的呢?曾經(jīng)也有到淘寶的應聘者問過我這個問題,他
9、問我說是不是用的 struts。我告訴他說不是的。其實淘寶網(wǎng)的Web展現(xiàn)層的框架用的不是struts, 不是webwork,不是spring mvc等等。淘寶網(wǎng)的Web展現(xiàn)層的框架用的是集團 內(nèi)部自主開發(fā)的一套Web框架。這個框架能夠解決一些其他Web框架不能解決的、 在淘寶的應用中又會出現(xiàn)并需要解決的問題。在淘寶的多個應用中,也采用了一 些開源的框架,比如Spring、iBatis、jBPM、Hessian、Mina等等。這些開源軟 件的采用為我們構(gòu)建應用系統(tǒng)提供了很大的幫助。采用開源軟件構(gòu)建系統(tǒng),我想有兩個很大的好處:一個是降低成本。假設(shè)你有1000臺應用服務器,如果你每臺服務器上采用 的
10、不是JBoss AS或者其他開源的軟件,而是使用商業(yè)的Oracle BEA的Weblogic 或者IBM的WebSphere,那么為這1000臺機器的應用購買License的費用是非 常高的。另外一個好處(我覺得最大的好處)是你可以看到軟件的源碼,你可以研究了 解軟件內(nèi)部的工作過程、原理。這對于應用設(shè)計、開發(fā)、查錯、優(yōu)化都是非常有 幫助的。淘寶網(wǎng)的開源觀對于開源軟件的應用,有些人可能擔心質(zhì)量的問題,有些人可能擔心軟件本 身發(fā)展更新的問題,等等。對于質(zhì)量的問題,我想現(xiàn)在很多的開源軟件尤其是一 些很著名的開源軟件都有很完善的組織,有完善的開發(fā)、測試、發(fā)布流程。在一 個新版本完成前,會有多次的測試版
11、本發(fā)布,最后才是正式版。這和商業(yè)軟件是 一樣的。并且因為代碼公開,反而更加的容易發(fā)現(xiàn)錯誤,提高質(zhì)量。至于第二個 問題,我想跟第一個問題一樣,關(guān)鍵是組織和規(guī)劃而不在是否開源,并且在很多 著名的開源軟件背后,會有廠商在進行支持。軟件本身的發(fā)展應該是不會成為問 題的,不太會出現(xiàn)軟件突然停止發(fā)展的情況。在今后的發(fā)展中,我們還是會一如既往的關(guān)注開源軟件的發(fā)展,也還會根據(jù) 需要采用不同的開源軟件。在選擇一個開源產(chǎn)品的時候,我會考慮以下幾點:這個軟件目前的功能和它的RoadMap軟件本身的架構(gòu)該軟件開發(fā)的活躍度該開源軟件是否是遵守該領(lǐng)域內(nèi)的國際規(guī)范的在同類產(chǎn)品中,要挑選有比較優(yōu)勢的。并且要考慮可能存在的移植代價。這 個移植指的是采用了這款開源軟件后現(xiàn)有系統(tǒng)的移植,或者是從這個開源軟件到 其他軟件的移植。對于企業(yè)級系統(tǒng)、互聯(lián)網(wǎng)應用來說,采用開源軟件不僅可以降低成本,更重 要的是能夠真正了解軟件的內(nèi)部工作機制。還可以在現(xiàn)在的基礎(chǔ)上進行增強和定 制,也能夠從開源軟件中借鑒到很多好的設(shè)計和實現(xiàn)。希望國內(nèi)能有更多的企業(yè) 在使用開源軟件的同時,也能開源自身的一些軟件,或者能
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度職業(yè)教育與產(chǎn)業(yè)融合合作辦學協(xié)議書3篇
- 二零二五年度按揭中帶抵押權(quán)的二手房買賣合同范本2篇
- 2025年度安全設(shè)備研發(fā)與生產(chǎn)承包合同3篇
- 小學數(shù)學游戲化教學與科技融合的路徑探索
- 家庭教育與科技下教育質(zhì)量的提升途徑
- 2025年度肉食行業(yè)品牌授權(quán)合作合同范本3篇
- 2024甲乙雙方關(guān)于新型智能穿戴設(shè)備開發(fā)的技術(shù)服務合同
- 小學數(shù)學問題解決游戲的場景化設(shè)計
- 家庭教育中的書法藝術(shù)教育推廣
- 2024簡化版私人借款合同格式版B版
- 拆除鋁合金門窗及附窗安全協(xié)議書
- -長峰醫(yī)院火災事故教育
- GB/T 4706.59-2024家用和類似用途電器的安全第59部分:口腔衛(wèi)生器具的特殊要求
- 《經(jīng)濟法基礎(chǔ)》全套教學課件
- 2024年北京電子科技職業(yè)學院高職單招筆試歷年職業(yè)技能測驗典型例題與考點解析含答案
- 沖突影響和高風險區(qū)域礦產(chǎn)負責任供應鏈的盡職調(diào)查指南
- 《藥品經(jīng)營質(zhì)量管理規(guī)范-令GSP管理》課件
- 2024年618調(diào)味品銷售數(shù)據(jù)解讀報告-星圖數(shù)據(jù)x味動中國組委會-202406
- 雙方結(jié)清賠償協(xié)議書
- 腹腔鏡下胰體尾切除術(shù)手術(shù)配合課件
- 納布啡在急性疼痛控制中的應用
評論
0/150
提交評論