【问题标题】:Azure Service Fabric Dyanamic Port ConflictAzure Service Fabric 动态端口冲突
【发布时间】:2020-03-10 14:11:04
【问题描述】:

我一直想知道为什么 Service Fabric 不考虑端口冲突并将服务重新托管在不同的端口上。

我有多个应用程序包在运行时用于创建具有唯一名称的新服务,现在我知道我可能可以做一些花哨的步骤来检查正在使用的端口号等,但我想知道是否有更简单的解决方案不改变我创建新服务的方式?

要使用单个包启动服务,请给它一个唯一的名称,并让 SF 给它一个动态端口,而不是尝试在与其他包相同的节点上使用相同的端口。

例如: 包名:mytestpackage 创建一个新服务:mytestService1 创建一个新服务:mytestService2

碰巧它们都在同一个节点上使用相同的端口号启动,即使启动之间有很长的时间。

【问题讨论】:

    标签: asp.net-core .net-core azure-service-fabric


    【解决方案1】:

    我通过将服务清单中的端口更改为零来解决我的问题,之前它是空白的。

    <Endpoint Protocol="http" Name="EndpointHttp" Type="Input" Port="0"/>
    

    这背后的原因是,如果端口被遗漏或空白,Service Fabric 会尝试分配端口,如果您将其设置为 0,则此值将传递给 kestrel 服务器。

    将 0 传递给 kestrel 服务器然后允许主机操作系统确定哪些端口可用,然后分配它们。

    这样做也加快了我的服务启动时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-30
      • 2017-07-23
      • 1970-01-01
      • 2021-06-18
      • 1970-01-01
      • 2016-12-14
      • 1970-01-01
      • 2015-09-17
      相关资源
      最近更新 更多