代理和負載均衡概述

代理

代理,通俗來說好比是中介的角色,比如在生活中我們處理法律問題、房產交易都會請專業人士代爲處理。從網絡角度講,就是爲事務參與雙方提供連接通道的第三方網絡服務器。

在網絡場景中,根據被代理的角色和作用劃分,代理可分爲正向代理和反向代理。

正向代理

正向代理是指對客戶端提供的代理服務,在客戶端無法直接訪問服務端的情況下,通過配置代理服務器的方式訪問服務端。

在整個過程中,客戶端請求首先發送到代理服務器,代理服務器再將請求發送到服務端後將結果返回給客戶端。從服務端角度來看,認爲代理服務器才客戶端,因此正向代理即代理客戶端與服務端進行交互。比如生活中我們通過代購去購買海外商品,代購就是我們的正向代理。

正向代理通常有以下應用場景:

反向代理

反向代理是指對服務端提供的代理服務,通常出於安全考慮,真正的服務端只有內網網絡,無法直接提供對外服務,爲此需要設置反向代理服務器,由代理服務器接收外網請求,然後再轉發到內部服務器。從客戶端角度看,代理服務器是提供服務的服務端,因此反向代理即代理服務端與客戶端交互。比如租房遇到的二房東,我們籤合同也是與二房東簽訂,但實際提供住房的是房主。

反向代理通常有以下應用:

區別

負載均衡

負載均衡介紹

負載均衡是將負載(工作任務,訪問請求)進行平衡、分攤到多個操作單元(服務器,組件)上進行執行。是解決高性能,單點故障(高可用),擴展性(水平伸縮)的終極解決方案。

負載均衡既有基於軟件的實現方案,也有基於硬件的實現方案。在軟件方案中,又主要有:

網絡模型和負載均衡

參照 OSI 標準網絡模型定義,負載均衡有二、三、四、七層四種負載均衡方式,對應到 TCP 網絡模型中,即數據鏈路層負載均衡、網絡層負載均衡、傳輸層負載均衡及應用層負載均衡,實際應用中通常採用四層負載均衡和七層負載均衡。

負載均衡和反向代理

負載均衡與反向代理是兩個概念,由於其網絡架構形式類似(都用於接入服務端),帶來一定程度的混淆。

知乎:反向代理和負載均衡有何區別?

負載均衡的核心目標在於如何將請求均衡的分發到多個服務端;反向代理的核心目標在於隱藏服務端內部地址併爲服務端提供外部訪問方式。出於高可靠機制的考慮,反向代理通常也會爲同一服務註冊多個後端地址,因此如 Nginx 同時提供了反向代理和負載均衡的能力,這也是造成概念混淆的原因。

通常來講經過反向代理,真實服務端對客戶端不可見,代理即客戶端認爲的服務端。相較負載均衡,七層負載的請求轉發與反向代理機制類似,而四層負載的 NAT 形式,是將報文目的地址修改爲真實服務後端地址,與反向代理有根本區別。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/m3U_lNtkjfWyuo1Mb3jS6Q