標籤:根據 訊息 購物 資訊 非同步 商務邏輯 body 面向 enter
大型網站架構技術一覽
網站系統架構層次如所示:
1、 前端架構
前端指使用者請求到達網站應用程式伺服器之前經曆的環節,通常不包含網站商務邏輯,不處理動態內容。
(1) 瀏覽器最佳化技術;
(2) CDN;
(3) 動靜分離,靜態資源獨立部署;
(4) 圖片服務;
(5) 反向 Proxy;
(6) DNS:網域名稱服務 (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) 伺服器架構
大型網站架構技術一覽