在我们的系统中,有多个“站点”通过WCF相互通信。每个站点通过NetTCP绑定公开约20个接口。
当站点使用对等站点的接口时,它将为每个通道打开一个单独的TCP套接字。这意味着如果我想定期使用所有接口,每个对等站点将保持打开约20个TCP套接字。
每个站点的对等数量目前相对较小(10-15),但在不久的将来这将增长到~100。我担心的是,这将需要每个站点有大约2000个传入套接字,这似乎是过多的。我无法指出具体问题,但感觉不对。例如,这大大超过了WCF的默认MaxConcurrentConnections(默认值为10)。
这是一个很好的系统设计吗?我是否应该考虑将所有这些接口整合到一个接口(以及单个通道)?我是否能够在单个频道上同时发送消息(我想不是)?也许我应该考虑一个消息队列系统?
欢迎任何评论或想法。