在我们的系统中,有多个“站点”通过WCF相互通信。每个站点通过NetTCP绑定暴露了 ~20 个接口。
当一个站点使用对等站点的接口时,它将为每个通道打开一个单独的TCP套接字。这意味着,如果我要经常使用所有接口,每个对等站点将保持 ~20 个TCP套接字处于开放状态。
目前,每个站点拥有的对等方数量相对较少(10-15),但这将在不久的将来增长到 ~100。我的担忧是,这将要求每个站点具有 ~2000 条传入套接字,这似乎过多。我无法找出具体问题,但感觉不对劲。例如,这大大超过了WCF的默认MaxConcurrentConnections(默认值为10)。
这是否是系统的良好设计?我应该考虑将所有这些接口 consolida 到单个接口上(从而是单个通道)吗?我能否在单个通道上同时发送消息(我认为不行)?也许我应该考虑一个消息队列系统?
欢迎任何评论或想法。
当一个站点使用对等站点的接口时,它将为每个通道打开一个单独的TCP套接字。这意味着,如果我要经常使用所有接口,每个对等站点将保持 ~20 个TCP套接字处于开放状态。
目前,每个站点拥有的对等方数量相对较少(10-15),但这将在不久的将来增长到 ~100。我的担忧是,这将要求每个站点具有 ~2000 条传入套接字,这似乎过多。我无法找出具体问题,但感觉不对劲。例如,这大大超过了WCF的默认MaxConcurrentConnections(默认值为10)。
这是否是系统的良好设计?我应该考虑将所有这些接口 consolida 到单个接口上(从而是单个通道)吗?我能否在单个通道上同时发送消息(我认为不行)?也许我应该考虑一个消息队列系统?
欢迎任何评论或想法。