1. 程式人生 > >大型網站架構技術一覽

大型網站架構技術一覽

定時執行 挖掘 cnblogs soa 動態頁面 服務架構 調用 技術分享 人際關系

大型網站架構技術一覽

網站系統架構層次如下圖所示:

技術分享

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) 服務器架構

大型網站架構技術一覽