簡體   English   中英

azure負載平衡器如何支持服務矩陣群集的動態端口?

[英]How does azure load balancer support dynamic ports for service fabric cluster?

在ServiceManifest.xml文件中服務的端點配置中,Visual Studio通常創建以下信息:

<Resources>
 <Endpoints>
  <Endpoint Protocol="http" Name="ServiceEndpointHttp" Type="Input" Port="8304" />
 </Endpoints>
</Resources>

如果刪除端口屬性及其值(如下所示),

<Resources>
 <Endpoints>
  <Endpoint Protocol="http" Name="ServiceEndpointHttp" Type="Input" />
 </Endpoints>
</Resources>

服務結構運行時將為此服務分配一個動態端口。

由於所有端口都被相關的負載均衡器自動阻止,如何配置負載均衡器以便可以從外部訪問服務?

您可以為每個服務更新Azure負載平衡器,但是由於端口是動態的,所以這不是一個好主意。

最好使用反向代理,例如內置反向代理 它將接收所有傳入呼叫(在固定端口(如80)上)並將它們轉發到群集內的HTTP端點。

由於端點是使用命名服務在內部注冊的,因此內置的反向代理可以找到它們。

您也可以自己構建代理,並使用FabricClient.QueryManager解析服務端點。

根據Microsoft的說法,內置的反向代理並不安全。 它公開了所有端點甚至系統服務。 他們的文檔中有警告。 https://docs.microsoft.com/zh-cn/azure/service-fabric/service-fabric-reverseproxy

我們一直在開發.Net Core無狀態服務作為來賓可執行文件,而我們現在面臨的問題是安全性。 Microsoft顧問建議不要使用內置的反向代理。 現在,我們正在編寫自己的代理,它將僅公開我們要公開的端點。

我們已經編寫了一個ARM模板,該模板為Azure應用程序網關提供了公共IP和Azure Service Fabric群集。 對於每個Web API,我們都配置一個Azure Traffic Manager配置文件。 傳入呼叫從TM路由到APP網關,然后通過負載均衡器路由到VM Scale Set。

暫無
暫無

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

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