網(wǎng)站架構(gòu)圖 門戶網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計方案?
門戶網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計方案?我參與設(shè)計過一個行業(yè)門戶網(wǎng)站,感覺解決大型網(wǎng)站面臨的高并發(fā)訪問、海量數(shù)據(jù)處理、高可靠運行等一系列問題與挑戰(zhàn),在實踐中提出了許多解決方案,以實現(xiàn)網(wǎng)站高性能、高可用、 易伸
門戶網(wǎng)站的技術(shù)架構(gòu)怎樣設(shè)計方案?
我參與設(shè)計過一個行業(yè)門戶網(wǎng)站,感覺解決大型網(wǎng)站面臨的高并發(fā)訪問、海量數(shù)據(jù)處理、高可靠運行等一系列問題與挑戰(zhàn),在實踐中提出了許多解決方案,以實現(xiàn)網(wǎng)站高性能、高可用、 易伸縮、可擴展、安全等各種技術(shù)架構(gòu)目標(biāo)。這些解決方案又被更多網(wǎng)站重復(fù)使用,從而逐漸形成大型網(wǎng)站架構(gòu)模式。下面我主要從分布式的設(shè)計談下:
1、分布式應(yīng)用和服務(wù): 將分層和分割后的應(yīng)用和服務(wù)模塊分布式部署,除了可以改善網(wǎng)站性能和并發(fā)性、加快開發(fā)和發(fā)布速度、減少數(shù)據(jù)庫連接資源消耗外;還可以使不同應(yīng)用復(fù)用共同的服務(wù),便于業(yè)務(wù)功能擴展。
2、分布式靜態(tài)資源: 網(wǎng)站的靜態(tài)資源如 JS,CSS,Logo 圖片等資源獨立分布式部署,并采用獨立的域名,即人們常說的動靜分離。靜態(tài)資源分布式部署可以減輕應(yīng)用服務(wù)器的負(fù)載壓力;通過使用獨立域名加快瀏覽器并發(fā)加載的速度;由負(fù)責(zé)用戶體驗的團隊進(jìn)行開發(fā)維護(hù)有利于網(wǎng)站分工合作,使不同技術(shù)工種術(shù)業(yè)有專攻。
3、分布式數(shù)據(jù)和存儲: 大型網(wǎng)站需要處理以 P 為單位的海量數(shù)據(jù),單臺計算機無法提供如此大的存儲空間,這些數(shù)據(jù)需要分布式存儲。除了對傳統(tǒng)的關(guān)系數(shù)據(jù)庫進(jìn)行分布式部署外,為網(wǎng)站應(yīng)用而生的各種 NoSQL 產(chǎn)品幾乎都是分布式的。
4、分布式計算: 嚴(yán)格說來,應(yīng)用、服務(wù)、實時數(shù)據(jù)處理都是計算,網(wǎng)站除了要處理這些在線業(yè)務(wù),還有很大一部分用戶沒有直觀感受的后臺業(yè)務(wù)要處理,包括搜索引擎的索引構(gòu)建、數(shù)據(jù)倉庫的數(shù)據(jù)分析統(tǒng)計等。這些業(yè)務(wù)的計算規(guī)模非常龐大,目前網(wǎng)站普遍使用 Hadoop 及其 MapReduce 分布式計算框架進(jìn)行此類批處理計算,其特點是移動計算而不是移動數(shù)據(jù),將計算程序分發(fā)到數(shù)據(jù)所在的位置以加速計算和分布式計算。
總之分布式設(shè)計思路比較多,還有可以支持網(wǎng)站線上服務(wù)器配置實時更新的分布式配置;分布式環(huán)境下實現(xiàn)并發(fā)和協(xié)同的分布式鎖;支持云存儲的分布式文件系統(tǒng)等。