1. 程式人生 > >負載均衡器

負載均衡器

term b16 head 報文 返回 0.10 視頻 2.3 轉發

1.常見的負載均衡器

4層負載均衡軟件

4層負載均衡器基於ip+端口來進行負載均衡。

應用名 說明
F5 硬件負載均衡器,功能很好,但是成本很高
lvs 重量級的四層負載軟件
nginx 輕量級的四層負載軟件,帶緩存功能,正則表達式較靈活
haproxy 模擬四層轉發,較靈活

7層負載均衡軟件

7層負載均衡器基於URL等應用層信息來進行負載均衡。

應用名 說明
haproxy 天生負載均衡技能,全面支持七層代理,會話保持,標記,路徑轉移;
nginx 只在http協議和mail協議上功能比較好,性能與haproxy差不多;
apache 功能較差
Mysql proxy 功能尚可。

2. lvs的4種工作模式

2.1 nat模式

技術分享圖片

報文改寫流程

1.客戶端發送請求報文,源ip為192.168.0.10 目標ip為192.168.1.10。
2.調度器接收到請求報文後,根據調度算法(如rr,wrr,lc等等)選出rs2來進行提供服務。
3.調度器改寫報文,只改寫目標ip為10.0.0.3。
4.rs2返回響應報文,源ip為10.0.0.3 目標ip為192.168.0.10。
5.調度器接收響應報文,轉換源ip。源ip為192.168.1.10 目標ip為192.168.0.10,返回給客服端。

適用場景

小並發的業務環境。

優點

1.只需要一個外網ip地址配置調度器上,並且後端服務器可以用私有ip。

2.對後端的服務器沒有系統上的要求。

缺點

1.流進和流出的流量都會經過調度器,那麽調度器就會成為一個性能瓶頸。
2.需要調度器和後端服務器在同一個局域網內。

2.2 dr模式

技術分享圖片

報文改寫流程

1.客戶端發送請求報文,源ip為192.168.0.10 目標ip為192.168.1.10。
2.調度器接收到請求報文後,根據調度算法(如rr,wrr,lc等等)選出rs2來進行提供服務。
3.調度器改寫報文,只改寫目標mac地址為rs2的mac。
4.rs2返回響應報文,源ip為192.168.1.10 目標ip為192.168.0.10。直接返回給客服端。

適用場景

大流量高並發業務環境,如視頻業務。

優點

調度器只負責轉發請求報文沒有其他的資源開銷,性能最好。

缺點

要求調度器和後端服務器的都有一塊網卡連在同一個物理網絡局域網內。

2.3 tun模式

技術分享圖片

報文改寫流程

1.客戶端發送請求報文,源ip為192.168.0.10 目標ip為192.168.1.10。
2.調度器接收到請求報文後,根據調度算法(如rr,wrr,lc等等)選出rs2來進行提供服務。
3.調度器對客戶端發來的請求報文,重新封裝成一個新的請求報文。此時新報文,源ip為192.168.1.10 目標ip為192.168.3.3。然後和rs2建立隧道轉發請求報文給rs2。
4.rs2接收到請求報文後,對其進行解封裝,獲得原始請求報文。
5.rs2將請求處理完成後,直接發送響應報文給客戶端。此時源ip為192.168.1.10,目標ip為192.168.0.10。

適用場景

需要對放在不同區域網絡內的業務機器進行負載。

優點

1.不需要轉發後端服務器的響應報文,負載能力強。
2.服務器和調度器可以不在同一個局域網中。
3.支持廣域網負載均衡。

缺點

1.後端服務器必須支持“IP Tunneling”協議。
2.系統需要建立IP隧道,資源開銷大。
3.服務器需要聯通外網,安全風險較大。

2.4 fullnat模式

技術分享圖片

報文改寫流程

1.客戶端發送請求報文,源ip為192.168.0.10 目標ip為192.168.1.10。
2.調度器接收到請求報文後,根據調度算法(如rr,wrr,lc等等)選出rs2來進行提供服務。
3.調度器改寫報文,改寫目標ip和源ip。此時源ip為10.0.1.1 目標ip為10.0.3.3。
4.rs2返回響應報文,源ip為10.0.3.3 目標ip為10.0.1.1。
5.調度器接收響應報文,轉換源ip和目標ip。源ip為192.168.1.10 目標ip為192.168.0.10,返回給客服端。

適用場景

對不同局域網內的業務機器進行負載。

優點

1.相較於nat模式,調度器和後端服務器可以在不同的局域網內。

缺點

1.調度器會成為系統性能瓶頸。
2.性能比nat模式更弱,對請求和響應報文,它比nat模式需要多修改源ip地址和目標ip地址

負載均衡器