網站結構有哪些,大型網站的架構概要

 2023-11-08 阅读 26 评论 0

摘要:1、大型網站架構的目標與挑戰 網站結構有哪些、(1)、高可用性:負載均衡、數據備份、異地容災...... (2)、高性能:高速緩存、并行計算、異地鏡像.... (3)、可伸縮性:開發框架、多層設計、業務分割.... 網站如何架構。 2、網站架構演變和技術脈絡 頁面架構

1、大型網站架構的目標與挑戰


網站結構有哪些、(1)、高可用性:負載均衡、數據備份、異地容災......

(2)、高性能:高速緩存、并行計算、異地鏡像....

(3)、可伸縮性:開發框架、多層設計、業務分割....

網站如何架構。

2、網站架構演變和技術脈絡


頁面架構?(1)、web動靜態資源分離,與數據庫物理分離

img、doc、js、css等靜態資源使用單獨的web http server 處理請求 (使用Apache/Nginx 等配置)

動態頁面靜態化處理?

大型網站架構設計。

(2)、采取緩存處理

減少對網站、Web應用服務器、文件系統IO、數據庫的訪問。

大型互聯網架構、主要有客戶端緩存、前端頁面緩存、頁面片段緩存、本地數據緩存、數據庫緩存。


客戶端緩存技術有:

網站架構。(a)、修改HTTP協議的Header參數, 如Cache-Control、Expires、Pragma、LastModified、Etag等參數,讓瀏覽器緩存。

(b)、使用HTTP協議,能夠使用GET盡量不使用POST

(c)、壓縮js、js合并、壓縮圖片

網站信息架構。(d)、會話狀態采用Cookie替代傳統的Session

(e)、采用Ajax實現頁面局部刷新

(f)、采用Flex、HTML5等技術,將服務器端的運算遷移到瀏覽器端

總之,能讓瀏覽器端緩存的數據一定要緩存,瀏覽器端能處理的運算絕對不放到服務器端處理。


前端頁面緩存技術:

(a)、采用具備緩存跟你的HTTP反向代理服務器作為前端緩存器。

(Varnish\Squid\Ncache等)


頁面片段緩存

采用apache mod_esi、WebLogic、JSP標簽庫等。


本地數據緩存:

(1)、Oracle 不要拼SQL,使用PreparedStatement,Query Cache根據數據庫具體情況合理設置

(2)、Oracle 的Data Buffer 設置

(3)、應用服務器Cache:緩存更新頻率的數據,如基表數據、配置信息,使用線程池、連接池等

(4)、Java采用 map \EHCache等


(3)、增加機器作為HA,數據庫讀寫分離

?

負載均衡技術:

(1)、DNS負載均衡

(2)、反向代理軟件:Apache、Nginx等

(3)、其他硬件產品


數據庫讀寫分離:

讀寫分離邏輯分配、負載均衡、失效轉移、數據庫分區透明支持


CDN(Content Delivery Network) 內容分發網絡:

將網站的內容分發到最接近用戶的網絡邊緣,使用戶可以可以就近獲取,從而解決互聯網網絡擁擠的狀況,提高相應速度。適合于靜態內容很多、頁面內容實時性要求不高的網站。


分布式緩存:

使用memcached、redis等NoSQL作為分布式緩存


分庫

讀寫分離、垂直分區


分區

分片key識別劃分檢索依據

用NoSQL數據庫部分替換關系數據庫


多個數據中心

使用分布式文件系統、MapReduce、NoSQL 存儲


3、網站架構設計理論和原則


(1)、 互聯網的BASE 原則


關系數據庫的 ACID :原子性 Atomic、一致性 Consistency、隔離性 Isolation、持久性 Durability

ACID原則不太適用互聯網,可用性比一致性重要。


BASE 原則:犧牲強一致性,以獲得更好的可用性和可靠性。

基本可用 (Basically Available):數據能保證80%一致性就行了,參考二八定律

軟狀態 (Soft state):在不過分追求數據一致性 (強一致性)前提下可考慮狀態策略。如將數據緩存在客戶端一段時候后,過后若無請求,則清除緩存。

最終一致性(Eventually consistent):在某一段短時間內允許數據不一致,三經過較長時間,等所有節點數據都整合在一起后,數據最終達到完全一致。


(2)、分布式的CAP 理論


一致性(Consistency):保證不同節點對數據操作的原子性

可用性(Availability): ?確保用戶訪問可得到相應。不強調不同節點的一致性。

分區容忍性(Partition Tolerance): 數據分區儲存后,即使部分分區組件不可用,其實施操作也能完成。


CAP理論指出:一個分布式系統不肯同事滿足一致性、可用性和分區容忍性這3項請求。最多只能同時滿足2項。



?














轉載于:https://www.cnblogs.com/leeeee/p/7276422.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/5/168108.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息