LB负载均衡集群--LVS
LB集群:
????LB集群是load balance 集群的簡寫,翻譯成中文就是負載均衡集群。常用的負載均衡開源軟件有nginx、lvs、keepalived ,商業的硬件負載設備F5、Netscale。
LB集群架構:
????當用戶的請求過來時,會直接發到分發器(Director Server)上,然后它把用戶的請求根據預先設置好的算法,智能均衡地分發到后端的真正服務器(real server)上。如果不同的機器,可能用戶請求到的數據不一樣,為了避免這樣的情況發生,所以用到了共享存儲,這樣保證所有用戶請求的數據是一樣的。
????????????LVS是一個實現負載均衡集群的開源軟件項目,LVS架構從邏輯上可分為調度層(Director)、server集群層(Real server)和共享存儲。
LVS的三種模式:
(1)NAT(調度器將請求的目標ip即vip地址改為Real server的ip, 返回的數據包也經過調度器,調度器再把源地址修改為vip)。
(2)TUN(調度器將請求來的數據包封裝加密通過ip隧道轉發到后端的real server上,而real server會直接把數據返回給客戶端,而不再經過調度器)。
(3)DR(調度器將請求來的數據包的目標mac地址改為real server的mac地址,返回的時候也不經過調度器,直接返回給客戶端)。
????????圖中出現的幾個IP概念,需要解釋一下,其中DIP(driector ip)為分發器的IP,NAT模式下它必須為公網IP,要對外服務。VIP(virtual ip)為虛擬IP,用在TUN和DR模式中,需要同時配置在分發器和后端真實服務器上。RIP(Real IP)為后端真實服務器的IP,在TUN和DR模式中,RIP為公網IP。
LVS的幾種算法:
1:輪詢算法(RR)就是按依次循環的方式將請求調度到不同的服務器上,該算法最大的特點就是實現簡單。輪詢算法假設所有的服務器處理請求的能力都是一樣的,調度器會將所有的請求平均分配給每個真實服務器
2:加權輪詢算法(WRR)主要是對輪詢算法的一種優化與補充,LVS會考慮每臺服務器的性能,并給每臺服務器添加一個權值,如果服務器A的權值為1,服務器B的權值為2,則調度到服務器B的請求會是服務器A的兩倍。權值越高的服務器,處理的請求越多。
3:最小連接調度算法(LC)將把請求調度到連續數量最小的服務器上,
4:加權最小連接算法(WLC)則是給每臺服務器一個權值,調度器會盡可能保持服務器連接數量與權值之間的平衡
5:基于局部性的最少連接調度算法(lblc)是請求數據包的目標IP地址的一種調度算法,該算法先根據請求的目標IP地址尋找最近的該目標IP地址所有使用的服務器,如果這臺服務器依然可用,并且用能力處理該請求,調度器會盡量選擇相同的服務器,否則會繼續選擇其他可行的服務器。
6:帶復雜的基于局部性最少的連接算法(lblcr)激勵的不是一個目標IP與一臺服務器之間的連接記錄,他會維護一個目標IP到一組服務器之間的映射關系,防止單點服務器負責過高
7:目標地址散列調度算法(DH)也是根據目標IP地址通過散列函數將目標IP與服務器建立映射關系,出現服務器不可用或負載過高的情況下,發往該目標IP的請求會固定發給該服務器。
8:源地址散列調度算法(SH)與目標地址散列調度算法類似,但它是根據源地址散列算法進行靜態分配固定的服務器資源。
轉載于:https://blog.51cto.com/casparcc/1726735
總結
以上是生活随笔為你收集整理的LB负载均衡集群--LVS的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【excel技巧读书笔记001】清除打开
- 下一篇: iOS 点转成字符串,再字符串转换成点