作者:徐劉根;

來源:Java後端技術

十年間,負載均衡的前沿技術層出不窮,令用戶眼花繚亂。經常在技術網站、文檔中出現的“四層負載均衡”、“七層負載均衡”字眼有什麼含義?有什麼區別?對客戶網絡有哪些不同的優化?


在大型的網站服務器集羣中,負載均衡技術是必不可少的。使用負載均衡的技術架構,能夠有效避免後端服務出現單點故障,提升服務的穩定性。

一、負載均衡簡介

負載均衡,英文名稱爲LoadBalance,其意思就是將負載(工作任務)進行平衡,分攤到多個操作單元上進行執行(例如Web服務器、FTP服務器等),實現多個服務器共同完成工作任務的目標。負載均衡建立在現有網絡結構之上,它提升了服務器的性能、提高了帶寬利用率,增強了網絡的靈活性和可靠性。經過十年的發展,負載均衡已經成爲網絡應用的重要設備,甚至成爲大型網絡應用的核心設備,與基礎路由、交換設備市場並駕齊驅。

負載均衡構建在現有網絡結構之上,可以方便有效地擴展服務器資源。通常將大量的併發請求分散至多個節點上分別處理,減少客戶端的等待時間;也可以將單個重負載的運算分擔到多個節點上做並行處理,最後進行彙總。

二、負載均衡的作用


大型網站技術架構負載均衡技術介紹及學習資源推薦


2.1、請求分發

請求分發即按照一定的算法將大量的併發請求分散至多個節點的服務器上處理,減輕單臺服務器的壓力,減少請求響應時間以及提升系統併發量。

2.2、故障轉移

通過心跳機制檢測判斷各個服務器的狀態,能夠自動剔除不可用的服務器並將請求發送可用服務器,減少服務出現不可用的概率,提高可用性。

2.3、總的來說

網絡負載均衡允許使用相同的羣集 IP 地址集指定羣集中所有計算機的地址,並且它還爲每個主機保留一組唯一專用的 IP 地址。對於負載平衡的應用程序,當主機出現故障或者脫機時,會自動在仍然運行的計算機之間重新分發負載。當計算機意外出現故障或者脫機時,將斷開與出現故障或脫機的服務器之間的活動連接。任何一種情況下,都可以在準備好時將脫機計算機明確地重新加入羣集,並重新共享羣集負載,以便使羣集中的其他計算機處理更少的流量。

三、負載均衡的分類

大型網站技術架構負載均衡技術介紹及學習資源推薦


平時我們常用的有四層負載均衡和七層負載均衡,四層的負載均衡是基於IP和端口實現的,七層的負載均衡是在四層的基礎上,基於URL等信息實現。

3.1、常用於四層負載均衡的軟件(還有F5、NetScaler等硬件負載均衡器)有:

LVS:重量級軟件,本身不支持正則表達式,部署起來比較麻煩,但是性能高,應用範圍廣,一般的大型互聯網公司都有用到。

HAProxy:輕量級軟件,支持的負載均衡策略非常多,較靈活。

Nginx:輕量級軟件,支持的協議少(HTTP、HTTPS和Email協議),對於Session支持不友好。

3.2、常用於七層負載均衡的軟件有:

HAProxy:全面支持七層代理,靈活性高,支持Session會話保持。

Nginx:可以針對HTTP應用進行分流,正則規則靈活,支持高併發,部署簡單。

Apache:性能較差,一般不考慮。

MySQL Proxy:官方的數據庫中間件,可以實現讀寫分離,負載均衡等功能,但是對分表分庫支持不完善(可選替代品:Atlas,Cobar,TDDL)。

四、技術原理

大型網站技術架構負載均衡技術介紹及學習資源推薦


四層負載均衡類似路由器的轉發,通過修改報文中的目標地址和端口,然後直接轉發給該服務器,只需要一個TCP連接即可。七層負載均衡通過類似於代理的機制進行轉發,負載均衡服務器會分別與客戶端和後端的服務器都建立TCP連接。

五、應用場景

四層負載均衡一般用於TCP應用中,比如基於C/S架構開發的ERP系統。七層負載均衡大多應用於使用HTTP/HTTPS協議搭建的網站和內部平臺系統。

從市場份額來看,七層負載均衡設備還是以國外廠商佔據主導地位,國內能夠進行自主研發的只有太一星晨等少數的幾家廠商。而且,國內負載均衡廠商應用場景以鏈路負載爲主,難以進入佔據負載均衡市場70%份額、主導負載均衡技術發展的服務器負載均衡市場,更缺乏在大型數據中心及大型門戶網站使用案例。

六、福利時刻之如何學習?

對於很多人來說,對於分佈式集羣這些根本無從學起,如果你已經對基礎的Java基礎掌握住了,想入門分佈式的話,特推薦幾本書籍供大家參考,這些書籍比簡單的幾篇文章或幾段視頻更能系統的學習理解,總之很不錯!

《大型網站技術架構:核心原理與案例分析 李智慧》

大型網站技術架構負載均衡技術介紹及學習資源推薦



《大型分佈式網站架構設計與實踐 陳康賢》

大型網站技術架構負載均衡技術介紹及學習資源推薦


《大型分佈式網站架構設計與實踐 陳康賢》

大型網站技術架構負載均衡技術介紹及學習資源推薦



以上三本書籍本人都看過,感覺很不錯,特推薦給大家

相关文章