我有下一个架构:
http://i.stack.imgur.com/ZLvR0.png
负载均衡器在AWS上自定义。 WCF由Windows服务托管。 只有一个API发送请求或两个API发送请求并且Load Balancer重定向到WCF1(或WCF2)服务器时,它才有效。
当API1和API2同时发送请求时,WCF1返回错误响应:
服务器未提供有意义的回复;这可能是造成的 合同不匹配,过早会话关闭或内部 服务器错误。
并且WCF2返回错误的响应:
套接字连接已中止。这可能是由错误引起的 处理您的消息或超过接收超时 远程主机或底层网络资源问题。本地套接字 超时为'00:59:59.7299730'。
端点配置:
var netTcpBinding = new NetTcpBinding
{
ReceiveTimeout = TimeSpan.FromDays(1f),
MaxBufferSize = 52428800,
MaxReceivedMessageSize = 52428800,
SendTimeout = TimeSpan.FromHours(1),
Security = new NetTcpSecurity()
{
Mode = SecurityMode.None,
Message = new MessageSecurityOverTcp()
{
ClientCredentialType = MessageCredentialType.None
},
Transport = new TcpTransportSecurity()
{
ProtectionLevel = System.Net.Security.ProtectionLevel.None,
ClientCredentialType = TcpClientCredentialType.None,
}
}
};
端点地址:
net.tcp://LoadBalancerHost:port/ServiceName;
WCF配置:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single,
IncludeExceptionDetailInFaults = true)]
我对Load Balancing不熟悉,似乎配置中缺少某些东西。
有任何想法或建议吗?
感谢。