linux服務器之LVS、Nginx和HAProxy負載均衡器對比。
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會話呢??
負載均衡環境下,每個用戶都有可能不固定的訪問后端服務器,在有些應用情況下,是必須要求在一定時間內同一用戶訪問的所有請求都分配給后端同一臺服務器去處理,例如:電子商務網站,用戶注冊頁面等,一刷新頁面,就會分配到后端的另一臺服務器上,那剛才的頁面上的信息也都沒了,這種情況下,分配同一臺服務器處理請求是至關重要的!?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
