大型網站技術架構筆錄(2):模式

大型網站架構模式
既然是模式,就是經驗之道,可重用的東西。

1)分層
想想7層或4層網絡模型,每層負責相對單一的功能,上下層調用。
網站一般分爲三個層次:應用層、服務層和數據層。具體實現,還可以繼續細化分層。
應用層:具體業務、視圖展示,網站首頁,搜索結果等
服務層:爲應用層提供服務支持,如購物車,用戶管理
數據層:提供數據存儲訪問,如數據庫、緩存、文件
分層獨立性,保持接口不變,合理規劃分層邊界和接口,禁止跨層調用和逆向調用

2)分割
縱向切分,把不同的功能和服務切割開,如購物業務可拆分成家電業務、服裝業務等。
高內聚,低耦合。

3)分佈式
解決高併發問題。
網絡延時,一致性問題等。

4)集羣
多臺服務器部署相同應用構成一個集羣,通過負載均衡設備共同對外提供服務。當某臺服務器發生故障,負載均衡設備或者系統的失效轉移機制將請求轉發到集羣中的其他服務器上,提高系統的可用性,即所謂的HA(高可用性)。

5)緩存
前面提到過,CDN、反向代理(網站前端、一般緩存靜態資源)、本地和分佈式緩存(熱點數據)
緩存前提條件:
1)訪問熱點不均勻,緩存熱點數據
2)緩存數據不會很快失效

6)異步
降低系統耦合性的另一手段,業務之間非同步調用,而是拆分爲多個階段,每個階段通過共享數據異步執行,異步消息隊列。
生產者消費者模式,不存在這直接調用,擴展方便
提高系統可用性,消費者

7)冗餘
服務器宕機了怎麼辦?
當然要有數據冗餘備份,這樣當某臺服務器宕機時,可以將其上的服務和數據訪問轉移到其他機器上。
  數據庫除了定期備份存檔保存實現冷備份之外,爲了保證在線業務高可用,還需要對數據庫進行主從分離,實時同步實現熱備份。
8)自動化
  在無人值守的情況下,網站可以正常運行,一切都可以自動化是網站的理想狀態。目前大型網站的自動化架構設計主要集中在發佈運維方面。 
  ①發佈部署過程自動化;
  ②自動化代碼管理;
  ③自動化測試;
④自動化安全監測;

9)安全
這個不多說。

發佈了89 篇原創文章 · 獲贊 9 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章