幾種負載均衡優劣

DNS 負載均衡

例如,北方的用戶訪問北京的機房,南方的用戶訪問深圳的機房。DNS 負載均衡的本質是 DNS 解析同一個域名可以返回不同的 IP 地址。例如,同樣是 www.baidu.com,北方用戶解析後獲取的地址是 61.135.165.224(這是北京機房的 IP),南方用戶解析後獲取的地址是 14.215.177.38(這是深圳機房的 IP)。

DNS 負載均衡實現簡單、成本低,但也存在粒度太粗、負載均衡算法少等缺點。仔細分析一下優缺點,

優點有:

簡單、成本低:負載均衡工作交給 DNS 服務器處理,無須自己開發或者維護負載均衡設備。

就近訪問,提升訪問速度:DNS 解析時可以根據請求來源 IP,解析成距離用戶最近的服務器地址,可以加快訪問速度,改善性能。

缺點有:

更新不及時:DNS緩存的時間比較長,修改 DNS 配置後,由於緩存的原因,還是有很多用戶會繼續訪問修改前的 IP,這樣的訪問會失敗,達不到負載均衡的目的,並且也影響用戶正常使用業務。

擴展性差:DNS 負載均衡的控制權在域名商那裏,無法根據業務特點針對其做更多的定製化功能和擴展特性。

分配策略比較簡單:DNS 負載均衡支持的算法少;不能區分服務器的差異(不能根據系統與服務的狀態來判斷負載);也無法感知後端服務器的狀態。

 

硬件負載均衡

通過單獨的硬件設備來實現負載均衡功能,這類設備和路由器、交換機類似,可以理解爲一個用於負載均衡的基礎網絡設備。目前業界典型的硬件負載均衡設備有兩款:F5 和 A10。

硬件負載均衡的優點是:

 功能強大:全面支持各層級的負載均衡算法,支持全局負載均衡。

性能強大:對比一下,軟件負載均衡支持到 10 萬級併發已經很厲害了,硬件負載均衡可以支持100 萬以上的併發。

穩定性高:商用硬件負載均衡,經過了良好的嚴格測試,經過大規模使用,穩定性高。

支持安全防護:硬件均衡設備除具備負載均衡功能外,還具備防火牆、防 DDoS 攻擊等安全功能。

 硬件負載均衡的缺點是:

價格昂貴:最普通的一臺 F5 就是二十幾萬

擴展能力差:硬件設備,可以根據業務進行配置,但無法進行擴展和定製。

 

軟件負載均衡

通過負載均衡軟件來實現負載均衡功能,常見的有 Nginx 和 LVS,其中 Nginx 是軟件的 7 層負載均衡,LVS 是 Linux 內核的 4 層負載均衡。4  層和 7 層的區別就在於協議和靈活性,Nginx 支持 HTTP、E-mail 協議;而 LVS 是 4 層負載均衡,和協議無關,幾乎所有應用都可以做,例如,聊天、數據庫等。

軟件和硬件的最主要區別就在於性能,硬件負載均衡性能遠遠高於軟件負載均衡性能。Ngxin 的性能是萬級,一般的 Linux服務器上裝一個 Nginx 大概能到 5 萬 / 秒;LVS的性能是十萬級,據說可達到 80 萬 / 秒;而 F5 性能是百萬級,從 200 萬 / 秒到 800 萬 / 秒都有。

軟件負載均衡的優點:

簡單:無論是部署還是維護都比較簡單。

便宜:只要買個 Linux 服務器,裝上軟件即可。

靈活:4 層和 7 層負載均衡可以根據業務進行選擇;也可以根據業務進行比較方便的擴展,例如,可以通過 Nginx 的插件來實現業務的定製化功能。

 其實下面的缺點都是和硬件負載均衡相比的,並不是說軟件負載均衡沒法用。

性能一般:一個 Nginx 大約能支撐 5 萬併發。 功能沒有硬件負載均衡那麼強大。

一般不具備防火牆和防 DDoS 攻擊等安全功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章