大型網站技術架構——核心原理與案例分析(一)
一、大型網站架構模式:
1、分層 – 橫向 如應用層、服務層、資料層
2、分割-縱向 將業務化分為不同粒度的細小的功能和服務 如訂單業務、購物車業務、簡訊業務、郵件業務等
3、分散式-將不現的服務、不同的模組部署在不同的伺服器,通過遠端呼叫協同工作,分散式靜態資源、分散式資料和儲存、分散式計算。注意,會對效能有影響(網路請求開銷),分散式事物、資料一致性。
4、叢集-用更多伺服器提供相同的服務,可以提供很好的併發性,不足以支援訪問量時,只需要要向叢集中加入新的機器即可。當一臺機子不可用時,可通過負載裝置或失效轉移機制把請求轉發到叢集的其他伺服器。從而 可提升網站的可用性,
5、快取-改善軟體效能的第一手段。
CDN,放在離終端使用者最近的網路服務商,使用者請求先到網路服務商(快取網站的一些靜態資源,較少變化的資料); 反向代理,使用者請求到到中心伺服器時,請求最先到達,這裡快取網站的靜態資源,使用者的請求不需要轉發到應用伺服器,即可返回,
本地快取,快取一些熱點資料,無需訪問資料庫
分散式快取 :使用前提條件:1、資料訪問熱點不均衡 2、資料在某個時間段內有效,不會很快過期
快取的好處:可以加快資料訪問速度,還可以減輕後端應用和資料儲存的負載壓力。
6、非同步-降低軟體的耦合性,如生產消費者 ,優點:1、可提高系統的可用性 2、加快網站響應速度 3、消除網站併發訪問高峰。
7、冗餘-主要是針對資料,當伺服器當機時,保證資料不丟失。資料冗餘備份。資料庫除了定期備份(冷備份),同時要同步熱備份(主從複製),同時為了抵禦不可抗力(地震、海嘯等)還要進行災備。
8、自動化
自動化程式碼管理-程式碼版本控制、程式碼分支建立;
自動化測試-程式碼提交,系統自動將程式碼部署到測試伺服器,啟動自動化測試用例進行測試
自動化安全檢測-安全檢測工具對程式碼靜態安全掃描及部署到安全測試環境進行安全攻擊測試
自動化部署-將工程程式碼自動部署到線上生產環境。
自動化監控、自動化報警、自動化失效轉移、自動化失效恢復、自動化降級、自動化分配資源。也是對其要求。
9、安全
網站的安全性、防止XSS攻擊、SQL隱碼攻擊、編碼轉換等要對其進行相應的處理。對敏感資訊進行過濾,對垃圾資訊進行遮蔽。
二、大型網站核心架構要素
1、效能
瀏覽器端:可通過瀏覽器快取、頁面壓縮、合理佈局頁面,減少Cookie傳輸等手段,還可以使用CDN,將靜態內容分發至離使用者最近的網路服務商機房。可在網站機房部署反向代理伺服器,快取熱點檔案,加快響應速度,減輕應用伺服器負載壓力
應用伺服器端:使用本地快取、分散式快取
效能的衡量指標:重要的有響應時間、TPS、系統效能計數器
2、可用性
7*24小時,高可用的設計目標。網站高可用的主要手段是冗餘,應用部署在多臺伺服器上同時提供訪問,資料儲存在多臺伺服器上互相備份
3、伸縮性
是否容易向叢集中新增新的伺服器,加入新的伺服器後是否可以提供和原來的伺服器無差別的服務,叢集中可容納的總的伺服器數量是否有限制。
問題:加入新的伺服器後可能會導致快取路由失效,進而導致叢集中的大部分快取資料都無法訪問。
4、擴充套件性
衡量網站架構擴充套件性好壞的主要標準就是網站增加新的業務產品時,是否可以實現對現有產品透明無影響。不需要改動或是很少改動既有業務功能就可以上線新的產品。不同的產品之間是否很少耦合
主要手段:事件驅動構架和分散式服務
事件驅動架構通過訊息佇列實現。
分散式服務則是將業務和可複用的服務分離開來。
5、安全性
網站架構就是保護網站不受惡意訪問和攻擊,保護網站的重要資料不被竊取。
相關文章
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第4篇 架構師(附 大型網站架構技術一覽)網站架構筆記
- 《大型網站技術架構核心原理與案例分析》讀書筆記(二)網站架構筆記
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第2篇 架構網站架構筆記
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第3篇 案例網站架構筆記
- 大型網站技術架構核心原理(1)網站架構
- 《大型網站技術架構:核心原理與案例分析》讀書筆記 - 第1篇 概述網站架構筆記
- 大型網站技術架構(四)--核心架構要素網站架構
- 大型網站技術架構(三)--架構模式網站架構模式
- 大型網站技術架構——2. 網站架構模式網站架構模式
- 一張圖看懂大型網站技術架構網站架構
- 大型網站架構利器-CDN技術網站架構
- 乾貨 | 大型網站專案架構技術一覽網站架構
- 讀書筆記-大型網站技術架構筆記網站架構
- 網站技術架構網站架構
- 讀書筆記 之《軟體架構設計: 大型網站技術架構與業務架構融合之道》筆記架構網站
- 大型網際網路公司網站架構背後的基礎技術2019網站架構
- 大型分散式網站架構實戰專案分析分散式網站架構
- 思維導圖形式帶你讀完《大型網站技術架構》上網站架構
- 思維導圖形式帶你讀完《大型網站技術架構》中網站架構
- 大型網站架構模式筆記網站架構模式筆記
- 大型網站系統架構演化網站架構
- 大型網站架構之我見網站架構
- 大型網站架構演化歷程網站架構
- 阿里面試技術手冊(二):大型網站架構演化發展歷程阿里面試網站架構
- 初入探秘:大型網站架構設計與方法總結網站架構
- 大型網站架構演化發展歷程網站架構
- Elasticsearch核心技術(四):索引原理分析Elasticsearch索引
- 乾貨:記一次JavaWeb網站技術架構總結JavaWeb網站架構
- 大型網站架構演化發展歷程 - 上網站架構
- MySQL效能結構優化原理(技術核心)MySql優化
- 今日頭條技術架構分析架構
- 美顏SDK架構技術分析架構
- 網站技術架構與效能優化,附高效能思維導圖網站架構優化
- 大型網站的可伸縮性架構如何設計?網站架構
- 大型網際網路架構概述架構
- Java RMI技術詳解與案例分析Java
- NVIDIA安培架構下MIG技術分析架構
- Linux核心技術分析Linux
- MySQL Binlog 技術原理和業務應用案例分析MySql