【问题标题】:Endpoint without port number没有端口号的端点
【发布时间】:2017-05-15 16:37:55
【问题描述】:

有没有办法在 Azure Service Fabric 中公开没有端口号的微服务端点?端口号可以在ServiceManifest.xml中定义,也可以由Service Fabric集群动态分配,但是不指定端口号如何调用服务呢?

【问题讨论】:

    标签: azure microservices azure-service-fabric


    【解决方案1】:

    当然,如果您不需要它,您不必指定端口号。 Service Fabric 将自动为您的服务分配端口。我也没有定义端口号,因为我们有 100 多个服务,这样做“有点困难”

    只需在 ServiceManifest.xml 中省略端口声明

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

    【讨论】:

    • 我知道,但是我应该如何通过名称而不是端口来调用端点 URI?例如:example.com/UserHttpEndpoint/api/service 而不是 example.com:31002/api/service
    • 好的,你应该为此实现api网关。使用其中一种模式:服务注册表、客户端服务发现、服务器端服务发现
    • @Marko 您的问题是:“有没有办法在 Azure Service Fabric 中公开没有端口号的微服务端点?”所以,答案是:是的,有“。你没有提到如何在没有端口的情况下调用服务。
    • 感谢您的建议。问题将被编辑。
    • 我觉得还是新建一个比较好
    【解决方案2】:

    没有端口,端点将毫无用处。所以即使你可以拥有一个,你也不应该想要它。您可能正在寻找一种在不知道其端口号的情况下调用服务的方法。这可以通过使用reverse proxy 来实现。使用反向代理,您可以通过提供反向代理的端口来调用服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多