我们有一个服务架构应用程序,它包含一个服务。此服务通过端口8910上的Web Api公开HTTP端点
我们将此应用程序部署到不同的实例,并使用以下代码来防止我们的服务实例之间的端口冲突
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]))
};
}
serviceContext.ServiceName.Segments [1] 解析为应用程序实例的名称
服务清单具有端口配置
<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8910" />
但是,当我们在同一个Azure群集中运行两个实例时,我们会随机获得连接到端点的503个错误。这些最终解决了 - 但我想知道为了处理端口共享的多实例应用程序是否还需要设置其他步骤?