當前位置:首頁>>軟件教程>>平面設(shè)計>>新聞內(nèi)容
中國頂級門戶網(wǎng)站架構(gòu)分析
作者:試著懷疑一切 發(fā)布時間:2004-7-31 13:21:36 文章來源:csdn

  首先聲明,下面的內(nèi)容都是我個人根據(jù)一些工具形成的猜想。并不保證和現(xiàn)實中各大門戶網(wǎng)站所用的架構(gòu)一摸一樣,不過我認為八九不離十了。

  新浪和搜狐在國內(nèi)的知名度可謂無人不知無人不曉。他們每天的點擊率都在千萬以上。這樣大的訪問量對于新浪和搜狐來說怎樣利用有限的資源讓網(wǎng)民獲得最快的速度成為首要的前提,畢竟現(xiàn)在網(wǎng)絡(luò)公司已經(jīng)離開了燒錢的階段,開始了良性發(fā)展,每一筆錢砸下去都需要一定回響才行的。另一方面,技術(shù)人員要絞盡腦汁,不能讓用戶老是無法訪問、或者訪問速度極慢。這樣就算有再好的編輯、再好的銷售,他們也很難將廣告位賣出去,等待他們的將是關(guān)門。當然這些情況都沒有發(fā)生,因為他們的技術(shù)人員都充分的利用了現(xiàn)有資源并將他們發(fā)揮到了極至。說到底就是用squid做web cache server,而apache在squid的后面提供真正的web服務(wù)。當然使用這樣的架構(gòu)必須要保證主頁上大部分都是靜態(tài)頁面。這就需要程序員的配合將頁面在反饋給客戶端之前將頁面全部轉(zhuǎn)換成靜態(tài)頁面。好了基本架構(gòu)就這樣,下面說說我怎么猜到的以及具體的架構(gòu):

  法寶之一:nslookup

  實戰(zhàn):

nslookup www.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.230, 61.172.201.231, 61.172.201.232, 61.172.201.233
61.172.201.221, 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229
Aliases: www.sina.com.cn, jupiter.sina.com.cn

  這里可以看到新浪在首頁上用到了那么多IP,開始有人會想果然新浪財大氣粗啊。其實不然,繼續(xù)往下看:

nslookup news.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.228, 61.172.201.229, 61.172.201.230, 61.172.201.231
61.172.201.232, 61.172.201.233, 61.172.201.221, 61.172.201.222, 61.172.201.223
61.172.201.224, 61.172.201.225, 61.172.201.226, 61.172.201.227
Aliases: news.sina.com.cn, jupiter.sina.com.cn

  細心的人可以發(fā)現(xiàn)了news這個頻道的ip數(shù)和首頁上一樣,而且IP也完全一樣。也就是這些IP在sina的DNS上的名字都叫taurus.sina.com.cn,那些IP都是這個域的A記錄。而news,sports,jczs.news。。。都是CNAME記錄。用DNS來做自動輪詢。還不信,再來一個,就體育頻道好了:

nslookup sports.sina.com.cn
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses: 61.172.201.222, 61.172.201.223, 61.172.201.224, 61.172.201.225
61.172.201.226, 61.172.201.227, 61.172.201.228, 61.172.201.229, 61.172.201.230
61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.221
Aliases: sports.sina.com.cn, jupiter.sina.com.cn

  其他的可以自己試。好了再來看看sohu的情況:

nslookup www.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.132.172, 61.135.132.173, 61.135.132.176, 61.135.133.109
61.135.145.47, 61.135.150.65, 61.135.150.67, 61.135.150.69, 61.135.150.74
61.135.150.75, 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80
Aliases: www.sohu.com

--------------------------------------------

nslookup news.sohu.com
Server: ns-px.online.sh.cn
Address: 202.96.209.5

Non-authoritative answer:
Name: pagegrp1.sohu.com
Addresses: 61.135.150.145, 61.135.131.73, 61.135.131.91, 61.135.131.180
61.135.131.182, 61.135.131.183, 61.135.132.65, 61.135.132.80, 61.135.132.172
61.135.132.173, 61.135.132.176, 61.135.133.109, 61.135.145.47, 61.135.150.65
61.135.150.67, 61.135.150.69, 61.135.150.74, 61.135.150.75
Aliases: news.sohu.com

  情況和sina一樣,只是從表面來看sohu的IP數(shù)要多于sina的IP數(shù),那么sohu上各個頻道用的服務(wù)器就要多于sina了?當然不能這么說,因為一臺服務(wù)器可以綁定多個IP,因此不能從IP數(shù)的多少來判斷用了多少服務(wù)器。

  從上面這些實驗可以基本看出sina和sohu對于頻道等欄目都用了相同的技術(shù),即squid來監(jiān)聽這些IP的80端口,而真正的web server來監(jiān)聽另外一個端口。從用戶的感覺上來說不會有任何的區(qū)別,而相對于將web server直接和客戶端連在一起的方式,這樣的方式明顯的節(jié)省的帶寬和服務(wù)器。用戶訪問的速度感覺也會更快。

  1. 難道就根據(jù)幾個域名的ip相同就可以證明他們是使用squid的嘛?

  當然不是,前面都只是推測。下面才是真正的證實我上面的猜測。先nslookup一把sina的體育頻道。

nslookup sports.sina.com.cn
Server: ns1.china.com
Address: 61.151.243.136
Non-authoritative answer:
Name: taurus.sina.com.cn
Addresses:61.172.201.231, 61.172.201.232, 61.172.201.233, 61.172.201.9
61.172.201.10, 61.172.201.11, 61.172.201.12, 61.172.201.13, 61.172.201.14
61.172.201.15, 61.172.201.16, 61.172.201.17, 61.172.201.227, 61.172.201.228
61.172.201.229, 61.172.201.230
Aliases: sports.sina.com.cn, jupiter.sina.com.cn

  然后直接訪問這些ip中的任意一個ip試試看,訪問下來的結(jié)果應(yīng)該是如下圖所示:



  由此可以證明sina是在dns中設(shè)置了很多ip來指向域名sqsh-19.sina.com.cn,而其他各種相同性質(zhì)的頻道都只是sqsh-19.sina.com.cn一個別名,用CNAME指定。dns的設(shè)置應(yīng)該是這樣的,然后server方面,通過squid 2.5.STABLE5(最新的穩(wěn)定版為STABLE6)來偵聽80端口。上面這些是根據(jù)一些信息分析而出的,應(yīng)該基本正確的。下面一些就是我的個人的猜想:

  它的真正的web server也同樣是偵聽80端口,因為在squid配置文件中有一項是:

httpd_accel_port 80

  如果你設(shè)成其他端口號(比如88)的話,那上圖的錯誤信息就會變成

While trying to retrieve the URL: http://61.172.201.19:88

  工具2:nmap掃描程序:可以用來檢查服務(wù)器開了什么端口。

  我現(xiàn)在用nmap來掃描sina的一個ip:61.172.201.19來進行分析

bash-2.05$ nmap 61.172.201.19

Starting nmap 3.50 ( http://www.insecure.org/nmap/ ) at 2004-07-30 13:31 GMT
Interesting ports on 61.172.201.19:
(The 1657 ports scanned but not shown below are in state: filtered)
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http

Nmap run completed -- 1 IP address (1 host up) scanned in 73.191 seconds

  可以看到他對外只開了2個端口,80端口就是剛才我們說的squid打開的,這點剛才已經(jīng)驗證過了。而22端口是用來ssh遠程連接的,主要是sa用來遠程操作服務(wù)器用的安全性非常高的方法。

  工具3:lynx或者其他可以讀取http頭文件的工具及小程序:

  直接看例子比較好理解:

HTTP/1.0 200 OK
Date: Fri, 30 Jul 2004 05:49:47 GMT
Server: Apache/2.0.49 (Unix)
Last-Modified: Fri, 30 Jul 2004 05:48:16 GMT
Accept-Ranges: bytes
Vary: Accept-Encoding
Cache-Control: max-age=60
Expires: Fri, 30 Jul 2004 05:50:47 GMT
Content-Length: 180747
Content-Type: text/html
Age: 37
X-Cache: HIT from sqsh-230.sina.com.cn
Connection: close

  上面是sina的http頭的反饋信息。里面有很多有價值的東東哦:)譬如,它后面的apache是用2.0.49,還設(shè)了過期時間為2分鐘。最后修改時間。這些都是要在編譯apache的時候載入的,特別是Last-Modified還需要小小的改一把源碼--至少我是這樣做的。

  綜上所述

  sina的架構(gòu)應(yīng)該是前面squid,按照現(xiàn)在的服務(wù)器2u,2g內(nèi)存一般每臺服務(wù)器至少可以跑4個squid2.5stable5. 這樣它16個ip就用了4臺服務(wù)器。后面一層是apache2.0.49應(yīng)該會用2臺。這2臺可能用的全是私有ip,通過前面的squid服務(wù)器在hosts文件中指定。具體的實現(xiàn)方法我會下次整理出我做實驗的文檔:)而apache的htdocs可能是有一個或2個磁盤陣列作nfs。apache mount nfs server的時候應(yīng)該是只讀的,然后另外還有服務(wù)器轉(zhuǎn)門用來做編輯器服務(wù)器,用來編輯人員更新文章。這臺服務(wù)器應(yīng)該對nfs server是具有可寫的權(quán)限。

  ----這就一套完整的sina所運用的方案,當然很多是靠猜測的,我沒有和sina的技術(shù)人員有過任何溝通(因為一個也不認識),否則我也就不會寫出來了。其他sohu,163應(yīng)該也有這樣的架構(gòu)。

  最后聲明:這只是一些靜態(tài)頁面組成頻道的一個架構(gòu),sina還有很多其他服務(wù)器,什么下載,在線更新等不在這個架構(gòu)中。


最新更新
·Photoshop高手整理的167個技
·Photoshop CS4重裝依舊顯示過
·為什么Photoshop默認文件的分
·Adobe Illustrator CS4在Win
·Photoshop CS4在Windows 200
·解決Photoshop CS4打開圖片出
·Photoshop CS3如何打開和編輯
·打印A4紙圖片需要多少像素和
·用Photoshop CS3畫虛線的方法
·Photoshop CS2 9.0的圖層鏈接
相關(guān)信息
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯