負載均衡方案優缺點對比

負載均衡方案優缺點對比

LVS
    優點
        1、抗負載能力強、工作在第4層僅作分發之用,沒有流量的產生,這個特點也決定了它在負載均衡軟件裏的性能最強的;無流量,同時保證了均衡器IO的性能不會受到大流量的影響;
        2、工作穩定,自身有完整的雙機熱備方案,如LVS+Keepalived和LVS+Heartbeat;
        3、應用範圍比較廣,可以對所有應用做負載均衡;
        4、配置性比較低,這是一個缺點也是一個優點,因爲沒有可太多配置的東西,所以並不需要太多接觸,大大減少了人爲出錯的機率;
    缺點
        1、軟件本身不支持正則處理,不能做動靜分離,這就凸顯了Nginx/HAProxy+Keepalived的優勢。
        2、如果網站應用比較龐大,LVS/DR+Keepalived就比較複雜了,特別是後面有Windows Server應用的機器,實施及配置還有維護過程就比較麻煩,相對而言,Nginx/HAProxy+Keepalived就簡單多了。
Nginx
    優點
        1、工作在OSI第7層,可以針對http應用做一些分流的策略。比如針對域名、目錄結構。它的正則比HAProxy更爲強大和靈活;
        2、Nginx對網絡的依賴非常小,理論上能ping通就就能進行負載功能,這個也是它的優勢所在;
        3、Nginx安裝和配置比較簡單,測試起來比較方便;
        4、可以承擔高的負載壓力且穩定,一般能支撐超過幾萬次的併發量;
        5、Nginx可以通過端口檢測到服務器內部的故障,比如根據服務器處理網頁返回的狀態碼、超時等等,並且會把返回錯誤的請求重新提交到另一個節點;
        6、Nginx不僅僅是一款優秀的負載均衡器/反向代理軟件,它同時也是功能強大的Web應用服務器。LNMP現在也是非常流行的web環境,大有和LAMP環境分庭抗禮之勢,Nginx在處理靜態頁面、特別是抗高併發方面相對apache有優勢;
        7、Nginx現在作爲Web反向加速緩存越來越成熟了,速度比傳統的Squid服務器更快,有需求的朋友可以考慮用其作爲反向代理加速器;
    缺點
        1、Nginx不支持url來檢測。
        2、Nginx僅能支持http和Email,這個它的弱勢。
        3、Nginx的Session的保持,Cookie的引導能力相對欠缺。
HAProxy
    優點
        1、HAProxy是支持虛擬主機的,可以工作在4、7層(支持多網段);
        2、能夠補充Nginx的一些缺點比如Session的保持,Cookie的引導等工作;
        3、支持url檢測後端的服務器;
        4、它跟LVS一樣,本身僅僅就只是一款負載均衡軟件;單純從效率上來講HAProxy更會比Nginx有更出色的負載均衡速度,在併發處理上也是優於Nginx的;
        5、HAProxy可以對Mysql讀進行負載均衡,對後端的MySQL節點進行檢測和負載均衡,不過在後端的MySQL slaves數量超過10臺時性能不如LVS;
        6、HAProxy的算法較多,達到8種;
    缺點
DNS
    優點
        基本上無成本,因爲往往域名註冊商的這種解析都是免費的;
        部署方便,除了網絡拓撲的簡單擴增,新增的Web服務器只要增加一個公網IP即可
    缺點
        健康檢查,如果某臺服務器宕機,DNS服務器是無法知曉的,仍舊會將訪問分配到此服務器。修改DNS記錄全部生效起碼要3-4小時,甚至更久;
        分配不均,如果幾臺Web服務器之間的配置不同,能夠承受的壓力也就不同,但是DNS解析分配的訪問卻是均勻分配的。其實DNS也是有分配算法的,可以根據當前連接較少的分配、可以設置Rate權重分配等等,只是目前絕大多數的DNS服務器都不支持;
        會話保持,如果是需要身份驗證的網站,在不修改軟件構架的情況下,這點是比較致命的,因爲DNS解析無法將驗證用戶的訪問持久分配到同一服務器。雖然有一定的本地DNS緩存,但是很難保證在用戶訪問期間,本地DNS不過期,而重新查詢服務器並指向新的服務器,那麼原服務器保存的用戶信息是無法被帶到新服務器的,而且可能要求被重新認證身份,來回切換時間長了各臺服務器都保存有用戶不同的信息,對服務器資源也是一種浪費。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章