2017-04-26 122 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来实现。使用反向代理,您可以通过提供反向代理的端口来调用服务。