[英]Multiple kestrel stateless service instances running on different ports in service fabric
我使用示例默认值在 Visual Studio 2019 中创建了无状态服务(创建新项目 -> Service Fabric 应用程序 -> 命名项目和解决方案 -> 无状态 ASP.NET 核心服务)。
运行没有任何更改的天气预报应用程序工作正常,我可以看到该应用程序在 Service Fabric 资源管理器中运行,并看到我的 5 个健康(本地开发)节点和 1 个绿色应用程序。
如果我修改Local.5Node.xml
将 InstanceCount 从 1 更改为 -1
<?xml version="1.0" encoding="utf-8"?>
<Application xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Name="fabric:/SampleApp" xmlns="http://schemas.microsoft.com/2011/01/fabric">
<Parameters>
<Parameter Name="SampleApp_ASPNETCORE_ENVIRONMENT" Value="Development" />
<Parameter Name="SampleApp_InstanceCount" Value="-1" />
</Parameters>
</Application>
我可以看到在单个分区下创建了五个实例,但其中四个被困在“InBuild”中:
在我在 VS2019 中运行的应用程序中,诊断 window 显示进程不断无法启动:
经过进一步检查,我发现新实例正试图在同一个端口上启动。
端口分配如何在具有多个无状态 web 服务实例的 Service Fabric 中工作? 是否需要带有反向代理的网关来发现每个实例? 如果没有自定义解决方案,是否可以在 Service Fabric 中自动缩放无状态 web 服务?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.