l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...
閱讀前的小說明:
由于工作需要,本人正在研究微服務(wù)架構(gòu)。而微服務(wù)的服務(wù)網(wǎng)格( Service Mesh )架構(gòu)中,需要選擇一種 proxy 作為每個(gè)微服務(wù)之間通訊的代理。因此為了定奪微服務(wù)中常用的兩種代理,即: Nginx 和 Envoy 如何選擇,本人查閱并翻譯了Nginx官網(wǎng)的一系列文章,以便日后參考,也方便各位參閱。希望能借此文章,與各位大佬們多多交流,謝謝。
此外,由于本人的英文功底著實(shí)較為薄弱,因此文中若如果出現(xiàn)部分翻譯不當(dāng)或翻譯錯(cuò)誤,也希望大家批評指正,不吝賜教!
負(fù)載均衡可以在OSI( Open Systems Interconnection )網(wǎng)絡(luò)模型中的很多層次上被實(shí)現(xiàn)。在這里,我們將提供這個(gè)網(wǎng)絡(luò)模型中,兩種不同層次的負(fù)載均衡選擇的概覽。
四層負(fù)載均衡(Layer 4 Proxy)和七層負(fù)載均衡(Layer 7 Proxy)的區(qū)別
四層負(fù)載均衡( L4 load balancing ):
主要工作于處于OSI模型中間位置的傳輸層( transport layer ),它主要處理消息的傳遞,而不管消息的內(nèi)容。在互聯(lián)網(wǎng)上,TCP就是HTTP傳輸方式的四層協(xié)議( Layer 4 Protocol )。四層負(fù)載均衡只針對由上游服務(wù)發(fā)送和接收的網(wǎng)絡(luò)包,而并不檢查包內(nèi)的具體內(nèi)容是什么。四層負(fù)載均衡可以通過檢查TCP流中的前幾個(gè)包,從而決定是否限制路由。
七層負(fù)載均衡( L7 load balancing ):
主要工作于處于OSI模型頂層位置的應(yīng)用層( application layer ),它主要處理每條消息中的真正內(nèi)容。在互聯(lián)網(wǎng)上,HTTP是網(wǎng)絡(luò)通訊中占據(jù)主導(dǎo)地位的七層協(xié)議( Layer 7 Protocol )。七層負(fù)載均衡在路由網(wǎng)絡(luò)傳輸時(shí)比四層負(fù)載均衡更加復(fù)雜和巧妙,特別適合像HTTP這種基于TCP傳輸?shù)姆绞健R粋€(gè)七層負(fù)載均衡器終止網(wǎng)絡(luò)傳輸并讀取消息中的內(nèi)容。它可以基于消息中內(nèi)容( 比如URL或者cookie中的信息 )來做出負(fù)載均衡的決定。之后,七層負(fù)載均衡器建立一個(gè)新的TCP連接來選擇上游服務(wù)( 或者再利用一個(gè)已經(jīng)存在的TCP連接,通過 HTTP keepalives 的方式,見:https://www.nginx.com/blog/http-keepalives-and-web-performance/ )并向這個(gè)服務(wù)發(fā)出請求。
七層負(fù)載均衡的優(yōu)勢
七層負(fù)載均衡的CPU密集程度比基于包的四層負(fù)載均衡更高,但是在現(xiàn)代服務(wù)中卻極少降低其性能。七層負(fù)載均衡能夠讓均衡器做更小的負(fù)載均衡決定,并且會(huì)根據(jù)消息的內(nèi)容( 比如壓縮和加密 )利用最優(yōu)化方式做出改變。它運(yùn)用緩存的方式來卸載上游服務(wù)較慢的連接,并顯著地提高了性能。
一個(gè)七層負(fù)載均衡的例子
讓我們來看一個(gè)簡單的例子吧:用戶訪問一個(gè)繁忙的網(wǎng)站。在這個(gè)用戶 session 的航向上,他或她可能會(huì)請求靜態(tài)內(nèi)容——比如圖片或者視頻,動(dòng)態(tài)內(nèi)容——比如新聞遞送,甚至是事務(wù)型信息——比如外賣點(diǎn)單的狀態(tài)。七層負(fù)載均衡允許均衡器依據(jù)請求自身的信息進(jìn)行路由,比如被請求內(nèi)容的類型。所以現(xiàn)在一個(gè)針對圖片和視頻的請求可以被路由到存儲(chǔ)并高度優(yōu)化的多媒體內(nèi)容服務(wù)器上。對于事物型信息比如商品折后價(jià),可以被路由到響應(yīng)管理價(jià)格的應(yīng)用服務(wù)器上。用了七層負(fù)載均衡,網(wǎng)絡(luò)和應(yīng)用的架構(gòu)師可以建立一個(gè)高速調(diào)整且高度優(yōu)化的、針對需求可靠且可有效延展的服務(wù)基礎(chǔ)架構(gòu)或應(yīng)用遞送網(wǎng)絡(luò)。
讓 Nginx Plus 助你一臂之力!
下面是收費(fèi)服務(wù) Nginx Plus 的廣告,大家可以略過。
譯者注。
Nginx Plus 和 Nginx 可能是負(fù)載均衡領(lǐng)域中最好的解決方案,它被許多高訪問量的網(wǎng)站所使用,比如 Dropbox、Netflix 和 Zynga。全世界超過358萬個(gè)網(wǎng)站,包括10萬個(gè)最繁忙的主流網(wǎng)站,都可依靠著 Nginx Plus 和 Nginx 來快速、可靠、安全地傳送著他們的內(nèi)容。
作為一個(gè)基于軟件的負(fù)載均衡器,Nginx Plus 和那些基于硬件的解決方案功能相仿,但是價(jià)格卻便宜的多。Nginx Plus 中全面的七層負(fù)載均衡功能完全能夠幫助你建設(shè)一個(gè)高度優(yōu)化的應(yīng)用傳送網(wǎng)絡(luò)。
當(dāng)你將 Nginx Plus 作為一個(gè)七層負(fù)載均衡器置于你的網(wǎng)站或應(yīng)用之前時(shí),你就已經(jīng)提高了你網(wǎng)站和應(yīng)用的效率、可靠性和性能。 Nginx Plus 幫助你同時(shí)最大化用戶滿意度和你 IT 投資的回報(bào)。
翻譯By 田同學(xué)
希望對您的工作學(xué)習(xí)有所幫助,謝謝。
總結(jié)
以上是生活随笔為你收集整理的l4 l7 代理_什么是四层(L4 proxy)和七层负载均衡(L7 proxy)?区别是什么? 翻译自Nginx官网...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pythonb超分辨成像_Papers
- 下一篇: Iptables 指南 1.1.19