大型網站架構技術一覽 網站系統架構層次如下圖所示: 1、 前端架構 前端指用戶請求到達網站應用伺服器之前經歷的環節,通常不包含網站業務邏輯,不處理動態內容。 (1) 瀏覽器優化技術; (2) CDN; (3) 動靜分離,靜態資源獨立部署; (4) 圖片服務; (5) 反向代理; (6) DNS:功能變數名稱 ...
大型網站架構技術一覽
網站系統架構層次如下圖所示:
1、 前端架構
前端指用戶請求到達網站應用伺服器之前經歷的環節,通常不包含網站業務邏輯,不處理動態內容。
(1) 瀏覽器優化技術;
(2) CDN;
(3) 動靜分離,靜態資源獨立部署;
(4) 圖片服務;
(5) 反向代理;
(6) DNS:功能變數名稱服務,將功能變數名稱解析成IP地址,利用DNS可以實現DNS負載均衡,配置CDN也需要修改DNS,使功能變數名稱解析後指向CDN伺服器。
2、 應用層架構
應用層是處理網站主要業務邏輯的地方
(1) 開發框架;
(2) 頁面渲染;
(3) 負載均衡;
(4) Session管理;
(5) 動態頁面靜態化;
(6) 業務拆分;
(7) 虛擬化伺服器;
3、 服務層架構
提供基礎服務,供應用層調用,完成網站業務。
(1) 分散式消息:利用消息隊列機制,實現業務與業務、業務和服務之間的非同步消息發送及低耦合的業務關係;
(2) 分散式服務;提供高性能、低耦合、易復用、易管理的分散式服務,在網站實現面向服務架構(SOA);
(3) 分散式緩存:通過可伸縮的伺服器集群提供大規模熱點數據的緩存服務,是網站性能優化的重要手段;
(4) 分散式配置;
4、 存儲層架構
提供數據、文件的持久化存儲訪問與管理服務。
(1) 分散式文件;
(2) 關係資料庫;
(3) NoSQL資料庫;
(4) 數據同步;
5、 後臺架構
網站應用中,除了要處理用戶的實時訪問請求外,還有一些後臺非實時數據分析要處理。
(1) 搜索引擎:即使是網站內部的搜索引擎,也需要進行數據增量更新及全量更新、構建索引等。這些操作通過後臺系統定時執行;
(2) 數據倉庫:根據離線數據,提供數據分析與數據挖掘服務;
(3) 推薦系統:社交網站及購物網站通過挖掘任何人之間的關係,任何商品之間的關係,發覺潛在的人際關係和購物興趣,為用戶提供個性化推薦服務;
6、 數據採集與監控
監控網站訪問情況與系統運行情況,為網站運營決策和運維管理提供支持保障。
(1) 瀏覽器數據採集:通過在網站頁面中嵌入JS腳本採集用戶瀏覽器環境與操作記錄,分析用戶行為;
(2) 伺服器業務數據採集:伺服器業務數據包括兩種,一種是採集在服務端記錄的用戶請求操作日誌;一種是採集應用程式運行期業務數據,比如待處理消息數目等;
(3) 伺服器性能數據採集;
(4) 系統監控;
(5) 系統報警;
7、 安全架構
保護網站免遭攻擊及敏感信息泄露。
(1) Web攻擊;
(2) 數據保護;
8、 數據中心機房架構
大型網站需要的伺服器規模數以萬計,機房物理架構也需要關註。
(1) 機房架構
(2) 機櫃架構
(3) 伺服器架構