lvs四層 vs nginx七層反代(負載均衡)。
1、場景:
最近不少朋友聊天談到面試總是問到lvs四層反代和nginx七層反代,有點不知所措。
負載均衡可以將使用者的請求分發到 web集群的某台機器,反向**也是實現了這個功能。如果後端是一台伺服器就叫反向**,如果有多台就是負載均衡。反向**才能實現負載均衡 負載均衡是做反向**的目的之一。
2、**一下四層反代和的七層反代的區別(三層負載均衡不**),如有不足,請指出。
負載均衡(load balance)
也稱四層、七層交換機
四層負載均衡
七層負載均衡
(通常七層支援四層)
技術原理
ip+tcp(埠)
url應用層(也稱內容交換)
典型代表
lvs、f5等
nginx、haproxy,mysql proxy等
缺點和優點
不理解mysql,ftp,http等應用協議等,滿足不了特定的需求,比如動靜分離,快取自定義等但是配置簡單,效率也很高。
對負載均衡裝置要求很高,處理七層能力一般低於四層模式的部署方式,但有點比較智慧型化,比如動靜分離,根據不同請求定義,快取,可以對客戶端請求和伺服器的相應進行自定義修改,極大提公升了應用系統在網路層的靈活性
安全性
eg:synflood攻擊,有的軟四層應用則會**到後端伺服器,有的則可以防止攻擊,這個和裝置(軟硬)有一定關係。
一般可以在七層進行攔截,不影響後台伺服器正常運營,可以設定多種策略,過濾特定報文。
應用 對應tcp應用 比如c/s開發的erp
應用廣發http協議,應用主要是**或內部資訊平台等b/s開發的系統。
案例(工作原理)
接受客戶的syn請求,通過上述方式選擇後端指定伺服器,並對報文中目標ip位址進行修改,改為後端伺服器ip,tcp連線是直接建立,而負載均衡類似路由器作用
如果要根據真正的應用層內容在選擇伺服器,則先**最終伺服器和客戶端建立連線(三次握手)後,才可能接受到客戶端傳送的真正應用層內容報文,然後根據該報文中特定字段,加上負載均衡裝置的伺服器選擇方式,決定最終選擇的內部伺服器。此時充當了**伺服器。
四層七層選擇
1、 根據需求使用,七層可以提高流量智慧型化,但配置複雜化
2、 追求安全性,或者效能
3、 考慮靈活性和擴充套件性
3、問到lvs四層、七層反代(負載均衡),則可以通過上面幾個方式談:
3.1)技術原理
3.2)優缺點
3.3)安全性
3.4)應用場景
3.5)工作原理
3.6)四層七層的選擇
四層與七層交換
第四層交換 端到端效能和服務質量要求對所有連網裝置進行負載均衡,以保證客戶機與伺服器之間資料平滑地流動。二層與三層交換產品在解決區域網和網際網路絡的頻寬及容量問題上發揮了很好的作用,但是,這可能還不夠,還需要更多的效能,而這正是四層交換的用武之地。四層交換技術利用第三層和第四層包頭中的資訊來識別應用...
四層 七層負載均衡區別
現在我們知道,負載均衡就是一種計算機網路技術,用來在多個計算機 計算機集群 網路連線 cpu 磁碟驅動器或其他資源中分配負載,以達到最佳化資源使用 最大化吞吐率 最小化響應時間 同時避免過載的目的。那麼,這種計算機技術的實現方式有多種。大致可以分為以下幾種,其中最常用的是四層和七層負載均衡 所謂四層...
四層負載和七層負載
所謂四層就是基於ip 埠的負載均衡,主要代表有lvs。七層負載也稱內容交換,就是基於url等應用層資訊的負載均衡,主要代表有nginx。lvs工作在一台server上提供directory 負載均衡器 的功能,本身並不提供服務,只是把特定的請求 給對應的real server 真正提供服務的主機 從...