微軟發布了反向代理YARP 1.0,用戶已經可以從NuGet上下載這個以.NET撰寫、具有高可自定義特性的反向代理,微軟提到,YARP和其他反向代理之間的不同,在於YARP建置和打包的方式,YARP是以函式庫的形式釋出,並且提供範例展示使用方法。

反向代理(Reverse Proxy)是用來監聽傳入的HTTP請求,並根據請求的內容,將請求轉送到適當的伺服器,但是反向代理跟第4層典型的防火牆和路由器不同,反向代理是在第7層運作,因為需要理解HTTP,並且基於HTTP欄位運作。YARP在代理請求時,會處理來自客戶端的HTTP連接,然後使用自己所創建到目標伺服器的連接,使得兩端都可以從連接池中獲得好處。

反向代理可以充當一個或是一組服務的公共端點,使暴露的URL空間,獨立於實際實作,並且將呼叫轉送到後端伺服器,以執行真正運算,平衡伺服器間的負擔,另外,反向代理也能幫忙分擔後端伺服器的工作,執行像是TLS加密、壓縮或是快取等任務。

微軟已經發展YARP專案兩年,一開始是因為微軟觀察到內部多個團隊,都存在反向代理的需求,因此共同研究出YARP解決方案。YARP是一個反向代理工具包,透過使用來自ASP.NET和.NET的基礎設施,在.NET中建置高效能反向代理,YARP的特點是容易自訂,用戶可以根據需求,自訂並且調整成來滿足特殊場景的需求。

YARP提供了兩個主要使用和自訂的方向,第一個是作為一個全功能代理,YARP藉由配置來定義一組基於URL模式的路由,這些路由會對應到目標伺服器叢集,叢集中的每個目的地,都應該可以處理對應的路由請求。目的地列表可以根據對話親和度,和伺服器健康狀況進行過濾,並且使用負載平衡演算法,選擇最終的目的地。

另一種使用方式,則是將YARP用於高度自定義的環境,用戶可以直接呼叫YARP請求轉送程式,繞過路由和負載平衡等模組。微軟提到,開發者甚至可以在同一個程序中混合兩種方式,根據路由切換。

熱門新聞

Advertisement