lvs特性:
1.抗負載能力強,使用ip負載平衡技術,只做分發,所以lvs本身並沒有太多流量產生;
2.穩定性、可靠性好,本身有完美的熱備方案;(如:lvs keepalived)
3.應用範圍比較廣,可以對所有應用做負載平衡;
4.不支援正規處理,不能做動靜分離。
常用四種演算法:
1.rr:輪叫,輪流分配到後端伺服器;
2.wrr:權重輪叫,根據後端伺服器負載情況來分配;
3. lc:最小連接,分配已建立連接最少的伺服器上;
4.wlc:權重最小連接,根據後端伺服器處理能力來分配。
可以採用ipvsadm –p(persistence)來保持session,預設是300/s
nginx特點:
1.工作在7層,可以對做正規規則處理;(如:針對網域名稱、目錄進行分流)
2.配置簡單,能ping通就能進行負載功能,可以透過連接埠偵測後端伺服器狀態,不支援url偵測;
3.抗高並發,採用epoll網路模型處理客戶請求;
4.只支援http和email,應用範圍比較少;
5.nginx主要是http和反向代理伺服器,低系統資源消耗。
常用四種演算法:
1.rr:(預設)輪詢,輪流分配到後端伺服器;
2.weight:根據後端伺服器效能分配;
3.ip_hash:每個請求按訪問ip的hash結果進行分配,並發小時合適,解決session問題;
4.fair:(擴展策略),預設不被編譯nginx內核,根據後端伺服器回應時間判斷負載情況,選擇最輕的進行處理。
haproxy特性:
1.支援兩種代理模式:tcp(四層)和http(七層),支援虛擬主機;
1.配置簡單,支援url檢測後端伺服器狀態;
2.僅做負載平衡軟體使用,在高並發情況下,處理速度高於nginx;
3. tcp層多用於mysql從(讀)伺服器負載平衡。
四種常用演算法:
1.roundrobin:輪詢,輪流分配到後端伺服器;
2.static-rr:根據後端伺服器效能分配;
3.leastconn:最小連接者優先處理;
4.source:根據請求來源ip,與nginx的ip_hash類似。
為什麼要解決session會話呢?
負載平衡環境下,每個使用者都有可能不固定的存取後端伺服器,在某些應用情況下,是必須要求在一定時間內同一使用者存取的所有請求都分配給後端同一台伺服器去處理,例如:電子商務網站,使用者註冊頁面等,一刷新頁面,就會分配到後端的另一台伺服器上,那剛才的頁面上的資訊也都沒了,這種情況下,分配同一台伺服器處理請求是至關重要的!
以上是LVS、Nginx和HAProxy負載平衡器有什麼特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!