我正在处理一个客户端-服务器对,其中多线程客户端每秒执行数千次服务器调用,首要任务是实现最小延迟。吞吐量也应该很高。客户端和服务器端都是用Java编写的,通信语义非常简单(put/get操作)。
满足这些需求的最佳Java网络库/框架是什么?像Tomacat/Jetty这样的服务器似乎是重量级的。我在考虑MINA或Netty,但我不确定这些异步库是否能在繁重的工作负载下提供稳定的低延迟。
发布于 2012-06-22 22:53:18
我建议你试试kryonet框架。
发布于 2012-06-22 23:04:27
如果您想在同一台机器上进行通信,您可以尝试像Java Chronicle这样的东西,它可以支持每秒超过一百万条持久化消息,往返时间为亚微秒。
如果你想要机器之间的低延迟,你需要非常仔细地检查你的硬件。对于商用硬件,您的往返延迟将是每多100微秒。有了专门的硬件,你看起来更接近20微秒。
或者,您可以在同一个框上进行通信,并获得更低的延迟。;)
发布于 2013-09-11 04:55:45
您也可以尝试使用Jocket。它与Java编年史共享一些概念,但其直接目标是取代标准套接字实现。
对于进程之间的乒乓,RTT延迟低于微秒。
https://stackoverflow.com/questions/11158543
复制相似问题