我有两个 Java 应用程序在同一台机器上运行。由于需要远程连接,我们通过 http 实现了 jvm 间通信。我们每秒将大约 10MByte 的图像数据从一个虚拟机传递到另一个虚拟机 100 次。使用 http 我们得到了巨大的延迟,因为 write-function 花费了太多时间。由于速度是最重要的标准,因此可以根据要求跳过 http。然后我们尝试了sockets,但是还是太慢了。我已经阅读了 RMI 和 Chronicle (openhft) 以实现快速的 jvm 间消息传递。Chonicle 对我来说听起来很有趣,因为我们可以使用 Chronicle-queues 进行消息传递,并使用 Chronicle-map 来共享图像数据。
但老实说,我无法估计什么是最好的。用例如下:服务器收集图像。客户请求可用图像的列表。一旦客户端收到消息,客户端就会请求一个特定的图像。服务器已经加载了图片,需要将图片发送给客户端。任何建议使用什么策略?我们也可以将所有图像发送到客户端,但这会导致服务器使用太多时间发送数据,而这是不需要的。
感谢您的提示。