1. 程式人生 > >如何分清負載均衡四、七層應用場景需求

如何分清負載均衡四、七層應用場景需求

在網路優化的主流裝置中,負載均衡常被稱為是"四七層交換機",擔當著重要使命。那麼,四層和七層兩者到底區別在哪裡?在應用中如何讓負載均衡裝置更好地滿足應用場景的需求呢?對此,太一星晨給予了詳細解讀。

在網路優化的主流裝置中,負載均衡常被稱為是"四七層交換機",擔當著重要使命。儘管,負載均衡裝置對於很多企業IT管理人員來說已經非常熟悉,但是在具體使用過程中,例如針對四層和七層應用等技術疑問,依然會誤+導部分使用者併產生應用誤區。

那麼,四層和七層兩者到底區別在哪裡?在應用中如何讓負載均衡裝置更好地滿足應用場景的需求呢?對此,太一星晨給予了詳細解讀。

第一.技術原理上的區別。

四層負載均衡,也就是主要通過報文中的目標地址和埠,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。

以常見的TCP為例,負載均衡裝置在接收到第一個來自客戶端的SYN 請求時,即通過上述方式選擇一個最佳的伺服器,並對報文中目標IP地址改為後端伺服器IP,直接轉發給該伺服器。TCP的連線建立,即三次握手是客戶端和伺服器直接建立的,負載均衡裝置只是起到一個類似路由器的轉發動作。

七層負載均衡:也稱為“內容交換”,主要通過報文中真正有意義的應用層內容,再加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。

以常見的HTTP為例,負載均衡裝置要根據真正的應用層內容再選擇伺服器,必須先代理實際伺服器和客戶端建立連線(三次握手)後,才可能接受到客戶端傳送的真正應用層內容的報文,然後再根據該報文中的特定欄位,加上負載均衡裝置設定的伺服器選擇方式,決定最終選擇的內部伺服器。

在這種情況下,負載類似於一個代理伺服器與前端的客戶端以及後端的伺服器會分別建立TCP連線。所以,從技術原理上來看,七層負載均衡明顯的對負載均衡裝置的要求更高,裝置效能消耗也更大。


第二.應用場景的需求。

七層應用負載的優勢是使整個網路更"智慧"。例如訪問一個網站的使用者流量,可以通過七層的方式,將對圖片類的請求轉發到特定的圖片伺服器並可以使用快取技術;將對文字類的請求轉發到特定的文字伺服器並可以使用壓縮技術。

在技術原理上,這種方式可以對客戶端的請求和伺服器的響應進行任意意義上的修改,極大提升了應用系統在網路層的靈活性。很多在後臺,例如Nginx或者Apache上部署的功能都前移到負載均衡裝置上。

對於網路中最常見的SYN Flood攻擊,七層負載則提供了更好的安全性:

1.四層模式下:這些SYN攻擊都會被轉發到後端的伺服器上。

2.七層模式下:這些SYN攻擊自然在負載均衡裝置上就截止,不會影響後臺伺服器的正常運營。

另外負載均衡裝置可以在七層層面設定多種策略,過濾特定報文,例如SQL Injection等應用層面的特定攻擊手段,從應用層面進一步提高系統整體安全。

現在的7層負載均衡,主要還是著重於應用HTTP協議,所以其應用範圍主要是眾多的網站或者各種基於B/S開發的應用系統。 4層負載均衡則對應其他TCP/UDP應用,經常用於C/S開發的系統。

四層負載工作模式簡單,負載效能高,後臺伺服器都必須承載相同的業務,

七層負載工作模式複雜,效能消耗高,但帶來了更好的靈活度,更有效的利用資源,加速對資源的使用。

那麼,對於很多使用者關心的鏈路負載是在第幾層呢?通過上面的分析答案顯然已經出來了——鏈路當然是工作在四層模式以下啦!