轉自:https://blog.csdn.net/zxm1306192988/article/details/80461683
1.概念
實現用戶訪問調度,壓力分擔,分給不同的web節點
2.實現方式
(1)硬件設備:F5 A10 Redware
(2)開源軟件:Nginx Haproxy Lvs
3.命名
(1)負載均衡:用戶請求的轉發(Lvs)
(2)反向代理:代替用戶去找,找到后再發給用戶(Nginx、haproxy)
4.功能
(1)Lvs是4層負載均衡,基於IP和端口
(2)Nginx haproxy 是4層和7層負載均衡,通過IP和端口接收請求再分發
5.原理:
(1)分層負載均衡:都是基於網絡模型。四層和七層
(2)七層是基於四層,但在應用層方面可以做更多的事情。
比如按瀏覽器類別區分是手機還是PC,手機登陸到專門的移動網站。
從智能DNS入手,根據客戶端IP將用戶轉到最近的一台服務器,以加快訪問速度
6.開源負載均衡的特點
a.Nginx
(1)七層,針對http分流
(2)安裝配置簡單
(3)高負載,上萬次並發
(4)隊請求可以異步處理
(5)調度算法:輪詢、weight和ip_hash(解決會話保持)、第三方fair和url_hash
b.HAProxy
(1)七層
(2)支持Session保持,Cookie引導
(3)調度算法:動態加權輪詢(Dynamic Round Robin)、加權源地址哈希(Weighted Source Hash)、加權URL哈希、加權參數哈希(Weighted Parameter Hash)
(4)可以對Mysql進行負載均衡
c.LVS
(1)四層。對硬件只有網卡的要求,抗負載能力強
(2)配置性比較低
(3)還可以對Mysql做負載均衡
(4)存在虛擬IP和虛擬MAC地址
分類:
(1)NAT
有兩個IP,一個對內,一個對外。在四層上修改報文的IP地址達到均衡。
需維護一個表,防止IP數據包在網絡層分片傳輸給不同的服務器。即,面向連接。
策略:
輪詢:一個挨一個輪換
加權輪詢:性能服務器好的,權重高
最少連接:那個服務器連接少,就發給誰
加權最少連接:在最少連接的基礎上,加權重
缺點:請求響應,所有的流量都要通過它。

(2)DR
請求和響應分開,請求走負載均衡。響應都各個web點直接返回給客戶端

(3)雙機熱備
防止單點失敗
Master和Backup需要相同的IP和MAC地址,通過虛擬IP+虛擬MAC解決

7.ELB 和SLB
ELB是AWS的負載均衡器,SLB是阿里雲
作用:
(1)請求分發
(2)彈性伸縮
(3)從安全考慮,ELB或SLB支持application在一個VPC中

