Azure service fabric 服务结构应用程序多实例随机返回503错误
我们有一个由单个服务组成的服务结构应用程序。此服务通过端口8910上的Web Api公开HTTP端点 我们将此应用程序部署到不同的实例,并使用以下代码来防止服务实例之间的端口冲突Azure service fabric 服务结构应用程序多实例随机返回503错误,azure-service-fabric,multi-instance-deployment,Azure Service Fabric,Multi Instance Deployment,我们有一个由单个服务组成的服务结构应用程序。此服务通过端口8910上的Web Api公开HTTP端点 我们将此应用程序部署到不同的实例,并使用以下代码来防止服务实例之间的端口冲突 protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners() { var settingsResolver = SettingsResolver.GetReso
protected override IEnumerable<ServiceInstanceListener> CreateServiceInstanceListeners()
{
var settingsResolver = SettingsResolver.GetResolver();
return new ServiceInstanceListener[]
{
new ServiceInstanceListener(serviceContext =>
new OwinCommunicationListener(
startup => new OwinBuilder(settingsResolver, baseLogger)
.Configure(startup),
serviceContext,
ServiceEventSource.Current,
"ServiceEndpoint",
serviceContext.ServiceName.Segments[1]))
};
}
受保护的重写IEnumerable CreateServiceInstanceListeners()
{
var settingsResolver=settingsResolver.GetResolver();
返回新服务InstanceListener[]
{
新ServiceInstanceListener(serviceContext=>
新的OwIndocommunicationListener(
startup=>新OwinBuilder(设置解算器、baseLogger)
.配置(启动),
serviceContext,
ServiceEventSource.Current,
“ServiceEndpoint”,
serviceContext.ServiceName.Segments[1]))
};
}
serviceContext.ServiceName.Segments[1]解析为应用程序实例的名称
服务清单具有端口配置
然而,当我们在同一个Azure集群中运行两个实例时,我们会在连接到端点时随机收到503个错误。这些问题最终会自行解决—但我想知道,为了处理具有端口共享的多实例应用程序,是否还需要设置其他步骤?是否在单个应用程序实例中创建多个服务实例,还是多个应用程序实例?我遇到了同样的问题,web服务随机退出导致503个错误。你有没有得出结论是什么让你犯了错误?值得一提的是,我有5个节点(最小的VM),其中分布着多个应用程序和服务,因此可能是服务器拥挤。我对您的“端口冲突”感到困惑。我在一个5节点群集上运行asp.net core web api已经快一年了,在prod环境中没有任何问题。503听起来更像503的真正含义,您没有足够的资源来处理请求。当我最初开始使用Service Fabric时,我注意到从2核机器到4核机器在性能上有很大差异。不管怎样,你应该测试这个理论,暂时增强那些机器,看看你是否还有问题。由于有一个负载平衡器在起作用,我对您的端口处理问题感到困惑。