ServiceFabric警告“具有ExplicitPort的端点在应用程序端口范围内。这可能会导致端口冲突。”

亚历克斯·艾特

将ServiceFabric群集更新到6.5版后,针对我的应用程序开始弹出警告。

具有ExplicitPort 27000的Endpoint MyEndpoint在应用程序端口范围内。这可能会导致端口冲突。请从应用程序端口范围之外的端口中选择一个端口。

为什么会发生此错误,我需要怎么做才能解决?

亚历克斯·艾特

从ServiceFabric 6.5CU2开始,ServiceFabric开始显示有关这些错误配置的警告。这些警告将来可能会变成错误。

根据设计,静态端口不应与ClusterManifest中指定的应用程序端口范围重叠。如果指定静态端口,请在应用程序端口范围之外分配它,否则将导致端口冲突。在6.5CU2版本中,当我们检测到此类冲突时将发出运行状况警告,但要使部署与所提供的6.5行为同步进行。但是,我们可能会阻止从下一个主要版本发布应用程序。

https://docs.microsoft.com/zh-CN/azure/service-fabric/service-fabric-service-manifest-resources

应用程序端口范围是群集范围的,默认情况下为20000-30000。

您可以通过ARM模板或https://resources.azure.com对其进行更改。

    "nodeTypes": [
      {
        "name": "nt",
...

        "applicationPorts": {
          "startPort": 20000,
          "endPort": 30000
        },
...
      }
    ],

可以在servicemanifest.json您的服务中配置静态终结点端口

<?xml version="1.0" encoding="utf-8"?>
<ServiceManifest ...>
  <Resources>
    <Endpoints>
      <!-- This endpoint is used by the communication listener to obtain the port on which to 
           listen. Please note that if your service is partitioned, this port is shared with 
           replicas of different partitions that are placed in your code. -->
      <Endpoint Name="MyEndpoint" Protocol="http" Port="27000" PathSuffix="/xxx" UriScheme="http" Type="Input" />
    </Endpoints>
  </Resources>
</ServiceManifest>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章