Service Fabric 集群节点类型应用程序端口范围的用途是什么?

What is the purpose of service fabric cluster node type app port range?

默认情况下,当您使用 Azure 门户手动创建服务结构集群时,您必须选择一个节点类型名称,该名称将与 VM 大小等相关联。但是,GUI 上未显示的是应用程序端口范围与此节点类型关联的。默认应用程序端口范围似乎是从 20000 到 30000。

当您使用 visual studio 创建服务结构集群应用程序时,默认端口号始终小于 20000。默认端口号更像是 8868 或类似的东西。

当您将此服务部署到上述集群时,一切都按预期进行。让我们忽略此讨论的 LB 端口映射。

这引出了以下问题:

  1. 我们是否应该将 visual studio 项目中的端口号调整为大于 20000(但小于 30000),以便端口号与节点类型构造的应用程序端口范围同步?
  2. 显然该服务无需步骤 (1) 即可运行。但是使用默认方式(即没有任何端口号更改)有什么注意事项吗?
  3. 如果服务端口号不必在节点类型构造定义的范围内,那么节点类型中应用程序端口范围的目的是什么?

当您让 Service Fabric 进行服务发现和解析时,将使用应用程序端口范围。如果您不指定终结点端口,Service Fabric 会自动分配您在创建群集时提供的此应用程序端口范围内的终结点。 Service Fabric 群集中的每个服务都基于一个端点工作。假设您有多个微服务,但您只需要使用 http(s) 端点公开少量服务,那么您可以让 Service Fabric 决定您不想使用 http(s) 端点公开的服务的端口。当您想在防火墙或 NSG 中配置端口范围以打开流量时,此端口范围也很方便。

可以在此处找到更多详细信息 - https://azure.microsoft.com/en-gb/documentation/articles/service-fabric-connect-and-communicate-with-services/

Service Fabric 提供称为命名服务的发现和解析服务。命名服务维护一个 table 将命名服务实例映射到它们侦听的端点地址。 Service Fabric 有一个将服务名称映射到其端点地址的注册器。

When an endpoint resource is defined in the service manifest, Service Fabric assigns ports from the reserved application port range when a port isn't specified explicitly.

https://docs.microsoft.com/en-gb/azure/service-fabric/service-fabric-service-manifest-resources

似乎仅在您未在清单中明确指定端点时使用