負載均衡集群
1、集群是什么?
1 集群(cluster)技術是一種較新的技術,通過集群技術,可以在付出較低成本的情況下獲得在性能、可靠性、靈活性方面的相對較高的收益,其任務調度則是集群系統中的核心技術。
2 集群組成后,可以利用多個計算機和組合進行海量請求處理(負載均衡),從而獲得很高的處理效率,也可以用多個計算機做備份(高可用),使得任何一個機器壞了整個系統還是能正常運行。
2、負載均衡集群技術
① 負載均衡(Load Balance):負載均衡集群為企業需求提供了可解決容量問題的有效方案。負載均衡集群使負載可以在計算機集群中盡可能平均地分攤處理。
② 負載通常包括應用程序處理負載和網絡流量負載,每個節點都可以承擔一定的處理負載,并且可以實現處理負載在節點之間的動態分配,以實現負載均衡。
3、負載均衡集群技術的實現
負載均衡(Load Balance)
負載均衡技術類型:基于 4 層負載均衡技術和基于 7 層負載均衡技術
負載均衡實現方式:硬件負載均衡設備或者軟件負載均衡
硬件負載均衡產品:F5 、深信服 、Radware
軟件負載均衡產品: LVS(Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)
4、實現效果如圖
5、負載均衡分類
負載均衡根據所采用的設備對象(軟/硬件負載均衡),應用的OSI網絡層次(網絡層次上的負載均衡)等來分類。下面著重介紹的是根據應用的 OSI 網絡層次來分類的兩個負載均衡類型。
負載均衡可以大概分為以下幾類:
二層負載均衡(mac)
一般是用虛擬mac地址方式,外部對虛擬MAC地址請求,負載均衡接收后分配后端實際的MAC地址響應。
三層負載均衡(ip)
一般采用虛擬IP地址方式,外部對虛擬的ip地址請求,負載均衡接收后分配后端實際的IP地址響應。
四層負載均衡(tcp)
在三層負載均衡的基礎上,用ip+port接收請求,再轉發到對應的機器。
七層負載均衡(http)
根據虛擬的url或IP,主機名接收請求,再轉向相應的處理服務器。
在實際應用中,比較常見的就是四層負載及七層負載。這里也重點說下這兩種負載。
6、四層負載均衡(基于IP+端口的負載均衡)
實現四層負載均衡的軟件有:
F5:硬件負載均衡器,功能很好,但是成本很高。
lvs:重量級的四層負載軟件
nginx:輕量級的四層負載軟件,帶緩存功能,正則表達式較靈活
haproxy:模擬四層轉發,較靈活
7、七層的負載均衡(基于虛擬的URL或主機IP的負載均衡)
在四層負載均衡的基礎上(沒有四層是絕對不可能有七層的),再考慮應用層的特征,比如同一個Web服務器的負載均衡,除了根據VIP加80端口辨別是否需要處理的流量,還可根據七層的URL、瀏覽器類別來決定是否要進行負載均衡。
實現七層負載均衡的軟件有:
haproxy:天生負載均衡技能,全面支持七層代理,會話保持,標記,路徑轉移;
nginx:只在http協議和mail協議上功能比較好,性能與haproxy差不多;
apache:功能較差
Mysql proxy:功能尚可。