在我們的系統中有多個「站點」通過WCF相互通信。每個站點通過NetTCP綁定公開〜20個接口。WCF頻道太多
當一個站點使用對等站點的接口時,它將爲每個通道打開一個單獨的TCP套接字。這意味着如果我想要定期使用所有的接口,〜20個TCP套接字將爲每個對等站點保持打開狀態。
每個網站擁有的同行數目目前相對較少(10-15),但在不久的將來這將增加到約100個。我擔心的是,這將需要每個站點有大約2000個傳入的套接字,這看起來過多。我不能把手指放在一個特定的問題上,但它只是感覺不對。例如,這大大超過WCF的默認MaxConcurrentConnections(默認值爲10)。
這是一個很好的系統設計?我應該考慮將所有這些接口整合到一個單一的接口中嗎?我能夠在單個通道上同時發送消息嗎(我想不是)?也許我應該考慮一個消息隊列系統?
任何意見或想法都會受到歡迎。
@Fabske它似乎是過時的.NET 4.5 :(請參閱http://msdn.microsoft.com/en-us/library/system.servicemodel.netpeertcpbinding.aspx – telewin