<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Terry.Li-彬

    虛其心,可解天下之問;專其心,可治天下之學;靜其心,可悟天下之理;恒其心,可成天下之業(yè)。

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      143 隨筆 :: 344 文章 :: 130 評論 :: 0 Trackbacks
    淘寶網(wǎng),是一個在線商品數(shù)量突破一億,日均成交額超過兩億元人民幣,注冊用戶接近八千萬的大型電子商務網(wǎng)站,是亞洲最大的購物網(wǎng)站。那么對于淘寶網(wǎng)這樣大 規(guī)模的一個網(wǎng)站,我猜想大家一定會非常關心整個網(wǎng)站都采用了什么樣的技術、產(chǎn)品和架構,也會很想了解在淘寶網(wǎng)中是否采用了開源的軟件或者是完全采用的商業(yè) 軟件。那么下面我就簡單的介紹一下淘寶網(wǎng)中應用的開源軟件。

    對于規(guī)模稍大的網(wǎng)站來說,其IT必然是一個服務器集群來提供網(wǎng)站服務,數(shù) 據(jù)庫也必然要和應用服務分開,有單獨的數(shù)據(jù)庫服務器。對于像淘寶網(wǎng)這樣規(guī)模的網(wǎng)站而言,就是應用也分成很多組。那么下面,我就從應用服務器操作系統(tǒng)、應用 服務器軟件、Web Server、數(shù)據(jù)庫、開發(fā)框架等幾個方面來介紹一下淘寶網(wǎng)中開源軟件的應用。

    操作系統(tǒng)

    我們首先就從應用服務器的操作系統(tǒng)說起。一個應用服務器,從軟件的角度來說他的最底層首先是操作系統(tǒng)。要先選擇操作系統(tǒng),然后才是操作系統(tǒng)基礎上的應用 軟件。在淘寶網(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 Server 2003。如果不準備采用微軟的一系列產(chǎn)品構建應用,并且有能力維護Linux或者FreeBSD,再加上成本的考慮,那么還是應該在Linux和 FreeBSD之間進行選擇。可以說,現(xiàn)在Linux和FreeBSD這兩個系統(tǒng)難分伯仲,很難說哪個一定比另外一個要優(yōu)秀很多、能夠全面的超越對手,應 該是各有所長。那么在選擇的時候有一個因素就是企業(yè)的技術人員對于哪種系統(tǒng)更加的熟悉,這個熟悉一方面是系統(tǒng)管理方面,另外一方面是對于內(nèi)核的熟悉,對內(nèi) 核的熟悉對于性能調(diào)優(yōu)和對操作系統(tǒng)進行定制剪裁會有很大的幫助。而應用全面的優(yōu)化、提升性能也是從操作系統(tǒng)的優(yōu)化開始的。

    應用服務器

    在確定了服務器的硬件、服務器的操作系統(tǒng)之后,下面我們來說說業(yè)務系統(tǒng)的構建。淘寶網(wǎng)有很多業(yè)務系統(tǒng)應用是基于JEE規(guī)范的系統(tǒng)。還有一些是C C++構建的應用或者是Java構建的Standalone的應用。那么我們要選擇一款實現(xiàn)了JEE規(guī)范的應用服務器。我們的選擇是JBoss Applcation Server。JBoss AS是RedHat的一個開源的支持JEE規(guī)范的應用服務器。在幾年前,如果采用Java技術構建互聯(lián)網(wǎng)應用或者企業(yè)級應用,在開源軟件中的選擇一般也就 是Apache組織的Tomcat、JBoss的 JBoss AS和Resin。嚴格意義上講,Tomcat和Resin并不能算是一個應用服務器,他們是實現(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做了一次轉發(fā),我們選擇的Web服務器是大名鼎鼎的Apache。幾年前,Apache幾乎是Linux系統(tǒng)上開源Web Server的唯一選擇。那個時候雖然也有一些其他的開源的Web Server,但是從功能和穩(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)的應用中,采用了兩種關系型數(shù)據(jù)庫管理系統(tǒng)。一個是 Oracle公司的Oracle 10g,另外一個是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é)點失 效),保證應用的健壯性和可靠性。可以這么說,在關系數(shù)據(jù)庫管理系統(tǒng)的選擇上,可以考慮應用本身的情況來決定。

    一個互聯(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)也有到淘寶的應聘者問過我這個問題,他問我說是不是用的 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等等。這些開源 軟件的采用為我們構建應用系統(tǒng)提供了很大的幫助。

    采用開源軟件構建系統(tǒng),我想有兩個很大的好處:

    一個是降低成 本。假設你有1000臺應用服務器,如果你每臺服務器上采用的不是JBoss AS或者其他開源的軟件,而是使用商業(yè)的Oracle BEA的Weblogic或者IBM的WebSphere,那么為這1000臺機器的應用購買License的費用是非常高的。

    另外一個好處(我覺得最大的好處)是你可以看到軟件的源碼,你可以研究了解軟件內(nèi)部的工作過程、原理。這對于應用設計、開發(fā)、查錯、優(yōu)化都是非常有幫助的。

    淘寶網(wǎng)的開源觀

    對于開源軟件的應用,有些人可能擔心質量的問題,有些人可能擔心軟件本身發(fā)展更新的問題,等等。對于質量的問題,我想現(xiàn)在很多的開源軟件尤其是一些很著 名的開源軟件都有很完善的組織,有完善的開發(fā)、測試、發(fā)布流程。在一個新版本完成前,會有多次的測試版本發(fā)布,最后才是正式版。這和商業(yè)軟件是一樣的。并 且因為代碼公開,反而更加的容易發(fā)現(xiàn)錯誤,提高質量。至于第二個問題,我想跟第一個問題一樣,關鍵是組織和規(guī)劃而不在是否開源,并且在很多著名的開源軟件 背后,會有廠商在進行支持。軟件本身的發(fā)展應該是不會成為問題的,不太會出現(xiàn)軟件突然停止發(fā)展的情況。

    在今后的發(fā)展中,我們還是會一如既往的關注開源軟件的發(fā)展,也還會根據(jù)需要采用不同的開源軟件。在選擇一個開源產(chǎn)品的時候,我會考慮以下幾點:

    1. 這個軟件目前的功能和它的RoadMap

    2. 軟件本身的架構

    3. 該軟件開發(fā)的活躍度

    4. 該開源軟件是否是遵守該領域內(nèi)的國際規(guī)范的

    5. 在同類產(chǎn)品中,要挑選有比較優(yōu)勢的。并且要考慮可能存在的移植代價。這個移植指的是采用了這款開源軟件后現(xiàn)有系統(tǒng)的移植,或者是從這個開源軟件到其他軟件的移植。

    對于企業(yè)級系統(tǒng)、互聯(lián)網(wǎng)應用來說,采用開源軟件不僅可以降低成本,更重要的是能夠真正了解軟件的內(nèi)部工作機制。還可以在現(xiàn)在的基礎上進行增強和定制,也 能夠從開源軟件中借鑒到很多好的設計和實現(xiàn)。希望國內(nèi)能有更多的企業(yè)在使用開源軟件的同時,也能開源自身的一些軟件,或者能夠成為一些開源軟件的貢獻者。 而作為淘寶網(wǎng),我們也會非常積極的參與到開源的活動中,也會努力為開源的發(fā)展做出我們應有的貢獻。

    作者簡介:曾憲杰,現(xiàn)任淘寶網(wǎng)平臺架構部架構師。2002年畢業(yè)于浙江大學計算機系,先后在中科院下屬企業(yè)、先鋒電子(中國)就職。有豐富的Windows平臺、企業(yè)級系統(tǒng)設計經(jīng)驗。現(xiàn)主要研究領域包括消息中間件的設計開發(fā)、分布式系統(tǒng)、分布式存儲。
    posted on 2009-01-29 00:39 禮物 閱讀(270) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。

    網(wǎng)站導航:
     
    主站蜘蛛池模板: 亚洲AV成人精品日韩一区18p| 亚洲色欲色欱wwW在线| 亚洲视频在线观看免费视频| 色老板亚洲视频免在线观| 免费在线观看日韩| 国产三级在线免费| 亚洲综合av一区二区三区不卡| 亚洲熟女乱综合一区二区| 37pao成人国产永久免费视频| 亚洲娇小性xxxx色| 亚洲精品视频在线免费| 久久WWW色情成人免费观看| 国产精品国产免费无码专区不卡| 深夜福利在线免费观看| 亚洲成在人线av| 香蕉高清免费永久在线视频| 免费看无码特级毛片| 亚洲av无码一区二区三区在线播放 | 亚洲国产美国国产综合一区二区| 成人无遮挡裸免费视频在线观看 | 成人毛片视频免费网站观看| 亚洲另类图片另类电影| 亚洲女人被黑人巨大进入| 中文字幕av免费专区| 亚洲午夜无码久久久久软件| 亚洲国产精彩中文乱码AV| 免费一级成人毛片| 国产成人午夜精品免费视频| a级毛片毛片免费观看永久| 亚洲国产综合人成综合网站| 中文字幕乱码一区二区免费| 中国china体内裑精亚洲日本| 久久精品九九亚洲精品天堂| 国产老女人精品免费视频| 亚洲国产精品免费在线观看| 国产无限免费观看黄网站| 亚洲AV成人精品日韩一区| 亚洲av乱码一区二区三区| 亚洲电影免费在线观看| 亚洲真人无码永久在线| 亚洲国产成人VA在线观看|