網站要處理超大規模的訪問量,高併發請求,給用戶良好的體驗離不開web性能優化,web性能優化的基本解決方案爲html
HTML靜態化、圖片服務器分離、數據庫集羣、負載均衡,其中負載均衡是最有效的提高網站性能的方法之一web
網站架構背景:算法
單機結構:全部代碼部署在一個項目,這個項目部署在一臺服務器上
特色:使用簡單、配置成本低,數據共享程度高,集中輸入速度低,不能容許併發操做,而且不能進行分佈式處理數據庫
集羣:同一個項目部署在多個服務器(節點)上,每一個節點提供相同的服務,若是用戶發出請求,由負載均衡服務器根據當前全部節點的負載狀況,決定將這個請求交給哪一個節點處理
特色:系統利於擴展,層次功能分明,調度複雜緩存
分佈式結構:完整的系統分紅若干個獨立的子系統(服務),獨立運行在web容器中,分佈在不一樣的服務器中,經過RPC方式通訊;利用大量計算機節點完成單個計算機沒法完成的計算和存儲服務
特色:下降了子系統耦合度,易於維護,易於開發,提升複用性性能優化
網站目前大部分採用分佈式集羣結構,這個結構可以支持高併發訪問,快速響應用戶請求,可是由於存在大量計算機節點,均衡的調度就很是重要服務器
負載均衡網絡
概念:若是一組計算機節點(或者一組進程)提供相同的(同質的)服務,那麼對服務的請求就應該均勻的分攤到這些節點上架構
意義:讓全部節點以最小的代價、最好的狀態對外提供服務,提升系統吞吐量,縮短用戶訪問時間,它加強了系統的可靠性,最大化下降了單個節點過載、甚至宕機的機率併發
常見負載均衡技術
DNS:域名做爲訪問入口,經過配置多條DNS A記錄使得請求能夠分配到不一樣的服務器
CDN:經過發佈機制將內容同步到大量的緩存節點,並在DNS服務器上進行擴展,找到裏用戶最近的緩存節點做爲服務提供節點
IP負載均衡:分爲軟件(LVS、HAProxy、NginX)和硬件(F5-BIG-IP-GTM),從網絡層分爲四層(LVS)和七層(NginX,HAProxy, Apache)
硬件負載均衡--性能和穩定性更好,並且商用產品的可管理性、文檔和服務比較好,價格貴
軟件負載均衡--開源軟件,自由度較高,但學習成本和管理成本會比較大
負載均衡算法
參考網站:
https://www.cnblogs.com/xybaby/p/7867735.htmlhttps://www.cnblogs.com/yeyublog/p/6438373.htmlhttps://www.cnblogs.com/xishuai/p/microservices-and-service-mesh.html