記得在大學裏不止一次關注網站架構方面的東西了,但每次都是泛泛瞭解,也沒有着重記錄,一段時間後對各種架構的思想也就模糊了。這幾天不知怎麼的又心血來潮(可能是快畢業了衝動了)想深入瞭解一下網站架構方面的知識,並想通過這次來總結一下網站架構,記錄一點東西供自己以後翻閱,也給那些希望瞭解這方面知識的朋友提供一點點有用的信息,下面是我這次學習的總結筆記,有什麼寫得不妥的地方還請大家指出,還有希望這篇隨筆能拋磚引玉,大家各抒己見。
1、MySpace架構
回顧了MySpace的成長史,真是讓人驚歎,他的架構基本經歷了五個里程碑,每個階段都是顯得那麼倉促,那麼無奈,那麼坎坷,又是那麼的精彩,網站爲了生存只能想盡一切辦法去優化系統架構,讓用戶滿意。他給我們後人的啓示是要儘早發現系統的瓶頸,設計師在設計時要有前瞻思想,否則今後有可能也要這樣倉促的升級你的產品。
這裏是“五個里程碑”的具體介紹。
2、Flickr網站架構總結
Flickr.com 是網上最受歡迎的照片共享網站之一,還記得那位給Windows Vista拍攝壁紙的Hamad Darwish嗎?他就是將照片上傳到Flickr,後而被微軟看中成爲Vista壁紙御用攝影師。
--Pair of ServerIron's做負載均衡
--Squid做html和照片的緩存
--Memcached做數據緩存
--尤其是mysql數據庫採用master-slave和shards技術實現了mysql數據庫的負載均衡,解決了數據庫的瓶頸,達到了數據庫橫向擴展的目標。
3、YouTube架構總結
這個貌似在國內是被和諧的,要翻牆才能訪問(不知到底何故)。看看他的架構:--NetScaler用於負載均衡和靜態內容緩存
--使用lighttpd作爲Web服務器來提供視頻服務
--CDN在多個地方備份內容,這樣內容離用戶更近的機會就會更高
--使用Google的BigTable,一個分佈式數據存儲、數據庫
分成shards,不同的用戶指定到不同的shards、
使用BigTable將圖片備份到不同的數據中心,代碼查看誰是最近的
4、PlentyOfFish架構總結
這個我覺的最神奇了,一個人每天花2個小時,可以維護一個每天3000W PV的,而且是基於.NET的(呵呵,終於給我們.net程序員一個好榜樣了)。簡述他的架構:
--用Microsoft Windows操作系統作爲服務器
--使用ASP.NET技術
--使用IIS作爲Web容器
--用Akamai CDN來緩存網頁
--用Foundry ServerIron 來做負載均衡
--sqlserver採用master-slave架構,兩臺負責read操作,master那臺負責寫操作
--所有的request數據都使用了gzip壓縮
5、WikiPedia架構總結
維基百科(Wikipedia)是一個基於Wiki技術的全球性多語言百科全書協作計劃,同時也是一部在網際網路上呈現的網路百科全書,其目標及宗旨是爲全人類提供自由的百科全書──用他們所選擇的語言來書寫而成的,是一個動態的、可自由和的全球知識體。
使用MediaWiki軟件
--