天天看點

一、大型網站技術架構演化大型網站系統的特點大型網站架構演化發展曆程小結

1、高并發,大流量

2、高可用:7*24小時不間斷服務,不當機

3、海量資料儲存及管理

4、網絡複雜

5、安全性

6、易擴充,可伸縮:需求快速變更,釋出頻繁

7、漸進式發展:臉譜網是宿舍,谷歌是斯坦福大學實驗室,淘寶是馬雲家

一句話,高可用,高性能,易擴充,可伸縮且安全的網站。

1、初始階段

    單機伺服器:應用程式+資料庫+檔案都在一台伺服器上。

2、應用服務和資料服務分離

    應用伺服器,檔案伺服器和資料庫伺服器。

中間通過通信的是:http/socket

3、緩存

    二八定律。核心集中在百分之20

    緩存分兩種:應用伺服器上的本地緩存 和 緩存在專門分布式緩存伺服器的遠端緩存。

    其中ehcache 簡介:(通過rmi、jgroups或jms進行的異步或同步的緩存複制、支援的通過rmi、jgroups或jms進行的異步或同步的緩存複制、可靠的分發:使用tcp的内建分發機制、面向資源的restful,還有就是soap)

4、應用伺服器叢集

    叢集是常用手段,實作系統的可伸縮性。

    通過負載均衡排程伺服器,将請求分發任何一台伺服器。

5、資料庫讀寫分離

    讀部分(緩存不命中或者過期) 和 全部寫操作要通路資料庫

    主從熱備-資料庫同步

6、反向代理nginx 、cdn加速網站響應

    原理:緩存

    cdn:就近的網絡提供上機房。反向代理緩存這使用者請求的資源。

7、分布式檔案系統、分布式資料庫系統

    單表資料規模很大的情況,常用手段是業務分庫。

8、nosql 、 搜尋引擎

    資料存儲及大規模資料的檢索

    nosql場景: 場景:儲存使用者資訊,比如會話、配置檔案、參數、購物車等等。這些資訊一般都和id(鍵)挂鈎,這種情景下鍵值資料庫是個很好的選擇。

9、業務拆分

    分而治之,業務分成各個産品線。然後各個應用伺服器。

    應用之間通過超連結或者消息隊列進行資料分發。

10、分布式服務

    soa、雲服務

雲計算服務,可以讓一切技術資源:計算,存儲,網絡按需購買即可。