我希望在多个服务器之间实现最快且可扩展的通信。我已经开发了一个用于此目的的自定义TCP套接字服务器(IOCP),因为我认为它将是.NET中最快的通信,但我不知道它是否在高负载下崩溃,或者我的解决方案是.NET应用程序的最快通信渠道。是否有任何开源解决方案可满足我的需求?
.NET应用程序中最快,可扩展,可靠的通信渠道是什么?
答案 0 :(得分:2)
有许多因素影响网络应用程序的性能,从架构设计决策,协议选择,网络拥塞,消息序列化,内存分配等开始。没有“一刀切”的方式网络通信,使应用程序自动扩展,在高负载下可靠,等等。
较低级别的协议具有较少的开销,这是正确的。但是对于某些用例来说,更高级别的协议可能要好得多,因为它们已经提供了一些您本来必须自己实现的功能。而且,正如我所说,协议不是影响性能的唯一因素。
您需要收集您的需求,确定瓶颈,设计适当的架构,在正确的抽象级别选择协议,以及配置文件,配置文件,配置文件。
答案 1 :(得分:1)
我希望运行自定义协议的自定义TCP或UDP服务器最适合您的特定需求,这将是最有效的解决方案,但由于您并没有真正告诉我们您需要进行多少沟通,因此相当困难回答。
当然,解决方案还取决于您所熟悉的技术;编写可扩展的TCP服务器很困难,您需要在开发的所有阶段使用实际数量的测试客户端和模拟数据流来分析您的解决方案等。编写自定义可靠或半可靠的UDP协议更加困难
很可能一个“不那么快”的解决方案将会更容易实施,因为其他人将为您完成所有艰苦的工作。再次知道的唯一方法是分析一些类似于问题的真实表现的东西。