《大型網站技術架構:核心原理與案例分析》筆記02

《大型網站技術架構:核心原理與案例分析》筆記02數據庫

  

    模式:每個模式描述了一個在咱們周圍不斷重複發生的問題及該問題解決方案的核心。這樣,你就能一次又一次地使用該方案而沒必要作重複工做。緩存

    網站架構模式:安全

1.分層:服務器

  分層是企業應用系統中最多見的一種架構模式,將系統在橫向維度上切分紅幾個部分,每一個部分負責一部分相對比較單一的指責,而後經過上層對下層的依賴和調用組成一個完整的系統。經過分層,能夠更好地將一個龐大的軟件系統切分紅不一樣的部分,便於分工合做開發和維護;各層之間具備必定的獨立性,只要維持調用接口不便,各層能夠更具具體問題演化發展而不須要其餘層必須作出相應調整。架構

  應用層:負責具體業務和試圖展現,如網站首頁及搜索輸入和結果展現。併發

  服務層:爲應用層提供服務支持,如用戶管理服務,購物車服務等。負載均衡

  數據層:提供數據存儲訪問服務,如數據庫、緩存、文件、搜索引擎等。異步

2.分割:分佈式

  分層是橫向方面切分,分割是縱向方面切分。性能

將不一樣業務進行分割,例如將購物、論壇、搜索、廣告分割成不一樣的應用,由獨立團隊負責部署在不一樣的服務器上。

3.分佈式:

  分佈式意味着可使用更多的計算機完成一樣的功能,計算機越多,CPU、內存、存儲資源也就越多,可以處理的併發訪問和數據量就越大,進而可以爲更多的用戶提供服務。

      常見分佈式方案:分佈式應用和服務、分佈式靜態資源、分佈式數據和存儲、分佈式計算,還有分佈式配置、分佈式鎖、分佈式文件系統等等。

4.集羣:

  多臺服務器部署相同應用構成一個集羣,經過負載均衡設備共同對外提供服務。

      當有更多用戶訪問的時候,只須要向集羣中加入新的機器便可。同時由於一個應用由多臺服務器提供,當某臺服務器發生故障時,負載均衡設備或者西戎的失效轉移機制會將請求轉發到集羣中其餘服務器上,使服務器故障不影響用戶使用。

5.緩存:

  緩存就是將數據存放在距離計算最近的位置以加快處理速度。緩存是改善軟件性能的第一手段,現代CPU愈來愈快的一個重要因素就是使用了更多的緩存,在複雜的軟件設計中,緩存幾乎無處不在。大型網站架構設計在不少方面都使用了緩存設計。

  常見緩存設計:CDN、反向代理、本地緩存、分佈式緩存。

6.異步:

  計算機軟件發展的一個重要目標和驅動力是下降軟件耦合性。異步是指業務之間的消息傳遞不是同步調用,而是將一個業務操做分紅多個階段,每一個階段之間經過共數據的方式異步執行進行協做。

  特性:提升系統可用性,加快網站響應速度,消除併發訪問高峯。

7.冗餘:

  即數據冗餘備份,這樣當某臺服務器宕機時,能夠將其上的服務和數據訪問轉移到其餘機器上。

  按期備份---冷備份,數據庫主從分離---熱備份

  大型網站還會在全球範圍內部署災備數據中心。

8.自動化:

  在無人值守的狀況下網站能夠正常運行,一切均可以自動化是網站的理想狀態。

9.安全:

  密碼或手機校驗碼進行身份驗證,網站使用驗證碼進行識別等。

相關文章
相關標籤/搜索