簡體   English   中英

使用反向代理作為Azure雲中的負載均衡器的延遲

[英]Latency with reverse Proxy as Load Balancer in Azure Cloud

我在多個地區的Azure中都有一個網站。 每個區域除了網絡服務器外還具有一個存儲帳戶,因為用戶可以上傳文件。

我目前正在使用“流量管理器”將用戶重定向到最佳區域。 但是我對此並不滿意...例如,它不支持會話親和力。 我可以為此使用應用程序網關,但這也不是我真正想要的,因為應用程序網關還可能會發生以下情況:在會話1中,用戶位於Region1上,而在會話2中,用戶位於Region2上。 用戶將在Region1和2中上載文件,並且每次用戶登陸到不同的區域時,我都必須在區域之間傳輸文件。

因此,我想創建自己的流量管理器。 我將創建一個帶有網絡服務器的cloudservice,該服務器使用自定義的arr重寫提供程序並根據用戶的geoip重定向用戶。

我唯一關心的是吞吐量...如果我正確理解反向代理,則所有區域中所有網站的所有流量都將通過此代理。 網站也有流式傳輸的可能性,我們大量使用websocket在客戶端和服務器之間進行通信。

自定義arr的這種方法是否可擴展? 是否所有流量都通過這一cloudservice? 我相信我可以創建多個處理arr請求的Web服務器,但是例如延遲問題呢?

例如,如果我的流量管理器cloudservice在北歐,然后來自巴西的用戶。 我們在巴西有一個區域,但是如果所有流量都通過北歐洲的代理服務器,那么延遲將是災難性的,在巴西擁有一個區域的所有好處將消失。

簡而言之:我想根據用戶的geoip將用戶重定向到天藍色的特定區域,並保持整個組件的可伸縮性和盡可能高的性能:)。 最好的方法是什么?

謝謝你的幫助! BR,新陳代謝

Azure Traffic Manager在DNS級別工作。 它使用來自DNS查詢的IP數據來提供DNS響應,該響應將該用戶的流量定向到最近的Azure區域(如果使用“性能”流量路由方法)。 然后,用戶直接連接到該區域中的服務。

優點是流量管理器因此不會遇到您描述的問題,因為它不是最終用戶流量的代理。

缺點是,由於流量管理器僅看到DNS流量,而不看到TCP / HTTP流量,因此它無法提供會話親緣關系。

解決此問題的最佳方法是使用流量管理器將流量定向到最接近的服務端點,然后在應用程序級別(或正在執行的代理中)實現會話關聯。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM