1、大型網站架構模式有哪些
1.分布式
對於大型網站,分層和分割的一個主要目的是為了切分後的模塊便於分布式部署,即將不同模塊部署在不同的伺服器上,通過遠程調用協同工作。分布式意味著可以使用更多的計算機完成同樣的功能,計算機越多,CPU、內存、存儲資源也就越多,能夠處理的並發訪問和數據量就越大,進而能夠為更多的用戶提供服務。
2.分層
分層是企業應用系統中最常見的一種架構模式,將系統在橫向維度上切分成幾個部分,每個部分負責一部分相對比較單一的職責,然後通過上層對下層的依賴和調用組成一個完整的系統。
分層結構在計算機世界中無處不在,網路的7層通信協議是一種分層結構;計算機硬體、操作系統、應用軟體也可以看作是一種分層結構。在大型網站架構中也採用分層結構,將網站軟體系統分為應用層、服務層、數據層。
3.分割
如果說分層是將軟體在橫向方面進行切分,那麼分割就是在縱向方面對軟體進行切分。
網站越大,功能越復雜,服務和數據處理的種類也越多,將這些不同的功能和服務分割開來,包裝成高內聚低耦合的模塊單元,一方面有助於軟體的開發和維護;另一方面,便於不同模塊的分布式部署,提高網站的並發處理能力和功能擴展能力。
4.集群
使用分布式雖然已經將分層和分割後的模塊獨立部署,但是對於用戶訪問集中的模塊(比如網站的首頁),還需要將獨立部署的伺服器集群化,即多台伺服器部署相同應用構成一個集群,通過負載均衡設備共同對外提供服務。
5.緩存
緩存就是將數據存放在距離計算最近的位置以加快處理速度。緩存是改善軟體性能的第一手段,現代CPU越來越快的一個重要因素就是使用了更多的緩存,在復雜的軟體設計中,緩存幾乎無處不在。大型網站架構設計在很多方面都使用了緩存設計。
6.非同步
計算機軟體發展的一個重要目標和驅動力是降低軟體耦合性。事物之間直接關系越少,就越少被彼此影響,越可以獨立發展。大型網站架構中,系統解耦合的手段除了前面提到的分層、分割、分布等,還有一個重要手段是非同步,業務之間的消息傳遞不是同步調用,而是將一個業務操作分成多個階段,每個階段之間通過共享數據的方式非同步執行進行協作。
2、大型網站技術架構 核心原理與案例分析 有用么
編輯推薦
編輯
本書作者是阿里巴巴網站構建的親歷者,擁有核心技術部門的一線工作經驗,直接體驗了大型網站構建與發展過程中的種種生與死,蛻與變,見證了一個網站架構從幼稚走向成熟穩定的歷程。
沒有晦澀難懂的術語,沒有詰屈聱牙的文句,沒有故弄玄虛的觀點……
明明白白的語句,清清楚楚的文法,干凈利落的建議——讓讀者直接體會網站架構的緊要處,不容馬虎的關鍵點——這恰好是一個優秀的網站架構所必備的要素。
如果說「水不在深,有龍則靈」,那麼對於想了解網站架構的讀者而言,這本書恰好是「書不在多,有它則行!」
還猶豫什麼呢?
內容簡介
編輯
本書通過梳理大型網站技術發展歷程,剖析大型網站技術架構模式,深入講述大型互聯網架構設計的核心原理,並通過一組典型網站技術架構設計案例,為讀者呈現一幅包括技術選型、架構設計、性能優化、Web 安全、系統發布、運維監控等在內的大型網站開發全景視圖。
本書不僅適用於指導網站工程師、架構師進行網站技術架構設計,也可用於指導產品經理、項目經理、測試運維人員等了解網站技術架構的基礎概念;還可供包括企業系統開發人員在內的各類軟體開發從業人員借鑒,了解大型網站的解決方案和開發理念。
3、大型網站(如百度,163,sina)伺服器是如何架構、運維的?
可以多關注一下infoq上面好多關於淘寶架構師的講解。當然也有你說的大站的,我看過。有課件的,如果你有機會的話可以參加他們的會議哦。
4、關於大型網站架構問題
大規模及高性能網站架構 網站優化 性能優化 技術專題-IT168
但是除了這幾個方面,還沒法根本解決大型網站面臨的高負載和高並發問題。 ·說說大型高並發高負載網站的系統架構 我在CERNET做過撥號接入平台的搭建,而後在Yahoo&3721從事過搜索引擎前端開發,又在MOP處理過大型社區貓撲大雜燴的架構升級等...
publish.itpub.net/zt/highperformance
5、大的互聯網公司比如百度或者京東,他們的伺服器架構性能參數外部人員能知道么?
現在都是雲系列產品(幾百萬台級別)把資源共享到資源池,然後在合理的分配給不同內的應用,比如這款數容據中心伺服器,如果有1W台,那麼它的資源是累加的,也可以是其他配置的,都是累加(處理器,內存,硬碟,網路等)
產品型號:ZI2W6S8-8388HV
產品類型:雙路十二核機架式伺服器
處 理 器:Xeon Bronze
3204
內 存:8G DDR4 REG ECC
硬 盤:HD SAS
600G
網 卡:雙千兆
管 理:硬體監控、遠程管理
機 構:2U機架式
電 源:500W
操作系統:Linux免費版
/ VMware ESXi
服 務:全國聯保 叄年質保
6、大型視頻網站的技術架構方案
國內的不清楚,給你看看YOUTUBE的
YouTube 的架構擴展
在西雅圖擴展性的技術研討會上,YouTube 的 Cuong Do 做了關於 YouTube Scalability 的報告。視頻內容在 Google Video 上有(地址),可惜國內用戶看不到。
Kyle Cordes 對這個視頻中的內容做了介紹。裡面有不少技術性的內容。值得分享一下。(Kyle Cordes 的介紹是本文的主要來源)
簡單的說 YouTube 的數據流量, "一天的YouTube流量相當於發送750億封電子郵件.", 2006 年中就有消息說每日 PV 超過 1 億,現在? 更誇張了,"每天有10億次下載以及6,5000次上傳", 真假姑且不論, 的確是超乎尋常的海量. 國內的互聯網應用,但從數據量來看,怕是只有 51.com 有這個規模. 但技術上和 YouTube 就沒法子比了.
1. Web 伺服器
YouTube 出於開發速度的考慮,大部分代碼都是 Python 開發的。Web 伺服器有部分是 Apache, 用 FastCGI 模式。對於視頻內容則用 Lighttpd 。據我所知,MySpace 也有部分伺服器用 Lighttpd ,但量不大。YouTube 是 Lighttpd 最成功的案例。(國內用 Lighttpd 站點不多,豆瓣用的比較舒服。by Fenng)
2. 視頻
視頻的縮略圖(Thumbnails)給伺服器帶來了很大的挑戰。每個視頻平均有4個縮略圖,而每個 Web 頁面上更是有多個,每秒鍾因為這個帶來的磁碟 IO 請求太大。YouTube 技術人員啟用了單獨的伺服器群組來承擔這個壓力,並且針對 Cache 和 OS 做了部分優化。另一方面,縮略圖請求的壓力導致 Lighttpd 性能下降。通過 Hack Lighttpd 增加更多的 worker 線程很大程度解決了問題。而最新的解決方案是起用了 Google 的 BigTable, 這下子從性能、容錯、緩存上都有更好表現。看人家這收購的,好鋼用在了刀刃上。
出於冗餘的考慮,每個視頻文件放在一組迷你 Cluster 上,所謂 "迷你 Cluster" 就是一組具有相同內容的伺服器。最火的視頻放在 CDN 上,這樣自己的伺服器只需要承擔一些"漏網"的隨即訪問即可。YouTube 使用簡單、廉價、通用的硬體,這一點和 Google 風格倒是一致。至於維護手段,也都是常見的工具,如 rsync, SSH 等,只不過人家更手熟罷了。
3. 資料庫
YouTube 用 MySQL 存儲元數據--用戶信息、視頻信息什麼的。資料庫伺服器曾經一度遇到 SWAP 顛簸的問題,解決辦法是刪掉了 SWAP 分區! 管用。
最初的 DB 只有 10 塊硬碟,RAID 10 ,後來追加了一組 RAID 1。夠省的。這一波 Web 2.0 公司很少有用 Oracle 的(我知道的只有 Bebo,參見這里). 在擴展性方面,路線也是和其他站點類似,復制,分散 IO。最終的解決之道是"分區",這個不是資料庫層面的表分區,而是業務層面的分區(在用戶名字或者 ID 上做文章,應用程序控制查找機制)
YouTube 也用 Memcached.