成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

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

  首先聲明,下面的內容都是我個人根據一些工具形成的猜想。并不保證和現實中各大門戶網站所用的架構一摸一樣,不過我認為八九不離十了。

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

  法寶之一:nslookup

  實戰:

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,開始有人會想果然新浪財大氣粗啊。其實不然,繼續往下看:

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

  細心的人可以發現了news這個頻道的ip數和首頁上一樣,而且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數要多于sina的IP數,那么sohu上各個頻道用的服務器就要多于sina了?當然不能這么說,因為一臺服務器可以綁定多個IP,因此不能從IP數的多少來判斷用了多少服務器。

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

  1. 難道就根據幾個域名的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試試看,訪問下來的結果應該是如下圖所示:



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

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

httpd_accel_port 80

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

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

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

  我現在用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打開的,這點剛才已經驗證過了。而22端口是用來ssh遠程連接的,主要是sa用來遠程操作服務器用的安全性非常高的方法。

  工具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,還設了過期時間為2分鐘。最后修改時間。這些都是要在編譯apache的時候載入的,特別是Last-Modified還需要小小的改一把源碼--至少我是這樣做的。

  綜上所述

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

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

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


最新更新
·Photoshop高手整理的167個技
·Photoshop CS4重裝依舊顯示過
·為什么Photoshop默認文件的分
·Adobe Illustrator CS4在Win
·Photoshop CS4在Windows 200
·解決Photoshop CS4打開圖片出
·Photoshop CS3如何打開和編輯
·打印A4紙圖片需要多少像素和
·用Photoshop CS3畫虛線的方法
·Photoshop CS2 9.0的圖層鏈接
相關信息
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 原平市| 兴仁县| 通州市| 克东县| 额济纳旗| 基隆市| 昌乐县| 海晏县| 峡江县| 东安县| 彰化市| 明光市| 隆回县| 大城县| 青河县| 得荣县| 广西| 鄯善县| 含山县| 清丰县| 芷江| 西峡县| 漠河县| 曲阜市| 孟津县| 罗田县| 荥阳市| 高台县| 元氏县| 大荔县| 兴山县| 永平县| 衡阳县| 文化| 宁城县| 乌恰县| 河源市| 龙岩市| 岫岩| 宜兰县| 沁源县|