2017-04-26 232 views
0

有沒有辦法在Azure服務結構中暴露沒有端口號的微服務端點?端口號可以在ServiceManifest.xml中定義,也可以由Service Fabric羣集動態分配,但如何在不指定端口號的情況下調用服務?沒有端口號的端點

回答

0

當然,如果你不需要它,你不必指定端口號。服務結構會自動將端口分配給您的服務。我還沒有定義的端口號,因爲我們有100多個服務,這是「有點硬」要做到這一點

只是省略口岸報關的ServiceManifest.xml

<Resources> 
    <Endpoints> 
     <Endpoint Protocol="http" Name="UserHttpEndpoint" Type="Input" /> 
     <Endpoint Protocol="tcp" Name="UserRpcEndpoint" Type="Input" /> 
    </Endpoints> 
    </Resources> 
+0

我知道,但我應該如何通過它的名稱而不是它的端口來調用該端點URI?例如:http://example.com/UserHttpEndpoint/api/service而不是http://example.com:31002/api/service – Marko

+1

好的,你應該爲此實現api網關。使用以下模式之一:服務註冊表,客戶端服務發現,服務器端服務發現 – Marusyk

+0

@Marko您的問題是:「是否有任何方法可以在Azure Service Fabric中公開沒有端口號的微服務端點?所以,最簡單的方法就是:是的,沒有提及如何在沒有端口的情況下調用服務 – Marusyk

0

端點將沒有無用一個港口。所以即使你可以擁有一個,你也不需要它。您可能正在尋找一種在不知道其端口號的情況下調用服務的方式。這可以通過使用reverse proxy來實現。使用反向代理,您可以通過提供反向代理的端口來調用服務。