負載平衡概述
2.簡單來說,壹種是將大量並發處理轉發到後端多個節點,減少響應時間;第二種是將單個繁重的工作轉發給後端的多個節點進行處理,然後返回給負載均衡中心,再返回給用戶。目前,大部分的負載均衡技術都是用來提高互聯網服務器程序的可用性和可擴展性,如Web服務器、FTP服務器和其他關鍵任務服務器。
1)第2層負載平衡(mac)
按照OSI模型,二層負載壹般以虛擬mac地址的形式,外部對虛擬MAC地址的請求在負載均衡接收後進行分配。
2)三層負載平衡
壹般采用虛擬ip地址方式。對虛擬IP地址的外部請求在負載平衡後被分配給實際的IP地址響應。
3)四層負載平衡(tcp)
在三次負載均衡的基礎上,請求由IP+端口接收,然後轉發到相應的機器。
4)七層負載平衡(http)
根據虛擬url或IP和主機名接收請求,然後轉向相應的處理服務器。
1.四層負載平衡在OSI模型的四層中工作,即傳輸層。四層負載均衡只能根據消息中的目的地址和源地址轉發請求,而不能修改或判斷被請求資源的具體類型,然後通過負載均衡內部的調度算法轉發給服務器處理請求。四層負載均衡只是提供壹個終端到終端的可靠連接,並將請求轉發到後端。連接從頭到尾都是壹樣的。LVS是典型的四層負載均衡。
2.七層負載均衡工作在OSI模型的第七應用層,所以七層負載均衡可以基於請求的應用層信息,比如根據請求的資源類型分配給後端服務器,而不是IP和端口選擇。七層負載均衡的功能更加豐富靈活,也可以讓整個網絡更加智能。如上圖所示,七層負載均衡兩端的連接(面向客戶端和服務器)是獨立的。
3.簡而言之,基於IP+端口實現四層負載均衡。通過應用層資源實現七層負載均衡。
1,抗負載能力強。抗負載能力強,性能高,可達F5硬件的60%;低內存和cpu資源消耗。
2.工作在網絡的第4層,通過vrrp協議轉發(僅用於分發),具體流量由linux內核處理,所以不產生流量。
2.具有良好的穩定性和可靠性,有自己完善的熱備方案;(例如LVS+Keepalived)
3.應用範圍比較廣,工作在第四層,可以對所有應用做負載均衡,不用考慮具體要處理的應用;
4.不支持常規處理,無法進行靜態和動態分離。
5.支持負載均衡算法:rr(輪循)、wrr(加權輪循)、lc(最小連接)、wlc(最小連接)。
6.配置復雜,對網絡依賴性強,穩定性高。
1,工作在網絡的7層,可以做壹些http應用的導流策略,比如域名和目錄結構;
2.Nginx對網絡的依賴性較小,理論上可以ping執行加載功能;
3.Nginx的安裝配置相對簡單,測試方便;
4.還能承受高負載壓力且穩定,壹般能支持10000以上並發次數;
5.後端服務器的運行狀況檢查僅支持端口檢測,不支持url檢測。
6.Nginx對請求的異步處理可以幫助節點服務器減輕負載;
7.Nginx只能支持http、https和Email協議,適用性較差。
8.不支持直接保留會話,但可以通過ip_hash解決。
9.支持負載平衡算法:輪循,權重輪循和IP哈希。
10和Nginx也可以作為Web服務器,也就是緩存功能。
1,支持TCP(四層)和HTTP(七層)兩種代理模式,支持虛擬主機;
2.可以補充Nginx的壹些不足,比如會話的維護,Cookie的引導。
3.檢測支持url檢測的服務器的問題會很有幫助。
4.實現了更多的負載均衡策略,如動態循環、加權源哈希、加權URL哈希和加權參數哈希。
5.在效率上,HAProxy會比Nginx有更好的負載均衡速度。
6.HAProxy可以負載均衡Mysql,在後端檢測和負載均衡DB節點。
9.支持負載均衡算法:Round-robin、Weight-round-robin、source(原始地址保留)、RI(請求URL)和rdp-cookie(根據cookie)。
10,不可能是Web服務器,也就是緩存。
1、四層和七層負載均衡的區別
2.四層和七層負載均衡的特點以及常用負載均衡Nginx、Haproxy和LVS的比較。
3.linux負載平衡總結了四層負載和七層負載的區別。