負載均衡實施應該因地制宜

2021-07-07 05:13:38 字數 1770 閱讀 1643

haproxy是一款提供高可用性、負載均衡以及基於tcp(第四層)和http(第七層)應用的**軟體,haproxy是完全免費的、借助haproxy可以快速並且可靠的提供基於tcp和http應用的**解決方案。

haproxy最主要的特點是效能優越,haproxy特別適用於那些負載特大的web站點,這些站點通常又需要會話保持或七層處理。 haproxy完全可以支援數以萬計的併發連線。並且haproxy的執行模式使得它可以很簡單安全的整合進您當前的架構中,同時可以保護你的web伺服器不被暴露到網路上(即通過防火牆80埠對映的方法)。

更重要的是,haproxy也是一款優秀的負載均衡軟體,其優點如:

1.免費開源,穩定性也是非常好,這個可通過我做的一些小專案可以看出來,單haproxy也跑得不錯,穩定性可以與硬體級的f5相媲美;

2.根據官方文件,haproxy可以跑滿10gbps-new benchmark of haproxy at 10 gbps using myricom's 10gbe nics (myri-10g pci-express),這個數值作為軟體級負載均衡器是相當驚人的;

3.haproxy 支援連線拒絕 : 因為維護乙個連線的開啟的開銷是很低的,有時我們很需要限制攻擊蠕蟲(attack bots),也就是說限制它們的連線開啟從而限制它們的危害。 這個已經為乙個陷於小型ddos攻擊的**開發了而且已經拯救了很多站點,這個優點也是其它負載均衡器沒有的。

4.haproxy 支援全透明**(已具備硬體防火牆的典型特點): 可以用客戶端ip位址或者任何其他位址來連線後端伺服器. 這個特性僅在linux 2.4/2.6核心打了cttproxy補丁後才可以使用. 這個特性也使得為某特殊伺服器處理部分流量同時又不修改伺服器的位址成為可能。

5.haproxy現多於線上的mysql集群環境,我們常用於它作為mysql(讀)負載均衡;

6.自帶強大的監控伺服器狀態的頁面,實際環境中我們結合nagios進行郵件或簡訊報警,這個也是我非常喜歡它的原因之一;

7.haproxy支援虛擬主機,許多朋友說它不支援虛擬主機是錯誤的,通過測試我們知道,haproxy是支援虛擬主機的。

另外,提到nginx作負載均衡器,這個由於我自己也比較喜歡它的強大的正則處理功能和其強悍的抗併發能力,所以我在自己的部落格及 51cto.com上推行它的nginx+keepalived,並成功用此架構幫許多客戶實施他們的**,nginx對網路的依賴性非常小,理論上只要 ping得通它就就能實現它的負載均衡能力,這一點跟lvs不一樣。我去年在一家公司準備實施lvs+keepalived時,發現它的網路環境太複雜 了,每台機器都是7、8靜態路由,網路中還有二個閘道器,lvs實現不了**功能;最後還是換成了nginx+keepalived。

現在我覺得nginx作為最前端的負載均衡並不是乙個非常理想的選擇,乙個大型的**或系統的 話,可以存在多級**,比如我們最前端可以用f5或 lvs來作為**或系統的入口,讓它們來頂外部的高併發流量,而nginx由於其強大的正則處理能力,可以作為中層**,一來可以作為f5/lvs的補 充,節約大量成本,這種做法也是張宴兄推薦的,架構圖也很簡單,即f5/lvs -->nginx(多台)-->web集群。

一、不需要擔心單nginx負載均衡器crash的問題,隨便怎麼掛都可以;

二、nginx作為f5的補充,利用其強大的upstream模組和正則,可以輕鬆實現動靜分離;

三、壓縮可以通過nginx做,這樣,後台應用伺服器不管是apache、resin、lighttpd甚至iis或其他古怪伺服器,都不用考慮壓縮的功能問題。

四、方便的運維管理,在各種情況下可以靈活制訂方案;

五、即使沒有squid群組,nginx現在可以做為優秀的反向**加速軟體了。

負載均衡實施要素

負載均衡實施要素 負載均衡方案應是在 建設初期就應考慮的問題,不過有時隨著訪問流量 的 性增長,超出決策者的意料,這也就成為不得不面對的問題。當我們在引入某種負載均衡方案乃至具體實施時,像其他的許多方案一樣,首先是確定當前及將 來的應用需求,然後在代價與收效之間做出權衡。針對當前及將來的應用需求,分...

如何實施異構伺服器的負載均衡及過

1 service的負載均衡 故障轉移 超時處理 通常是rpc client連線池層面來實施的 2 異構伺服器負載均衡,最簡單的方式是靜態權重法,缺點是無法自適應動態調整 3 動態權重法,可以動態的根據service的處理能力來分配負載,需要有連線池層面的微小改動 4 過載保護,是在負載過高時,se...

如何實施異構伺服器的負載均衡及過載保護?

後端的service有可能部署在硬體條件不同的伺服器上 1 如果對標最低配的伺服器 均勻 分攤負載,高配的伺服器的利用率不足 2 如果對標最高配的伺服器 均勻 分攤負載,低配的伺服器可能會扛不住 能否根據異構伺服器的處理能力來動態 自適應進行負載均衡及過載保護,是本文要討論的問題。一 service...