【发布时间】:2011-01-05 08:28:14
【问题描述】:
我已经看到了这个问题:Communication between two separate Java desktop applications(答案:JGroups),我正在考虑使用 JavaGroups 或直接 RMI 来实现一些东西,但速度至关重要。我不会发送大量数据(MIDI 消息的内容,因此每个 3 个字节,每三毫秒最多说两条消息),这将全部在同一台机器上。 认为同一台物理机上的 RMI/JGroups 会很慢是不是很愚蠢?
(我的想法是我无法承受超过 1 毫秒的延迟,因为我已经有了一些延迟,但我不确定在这种情况下如何最好地谈论速度。)
我想我真正的问题是:在 Java 中是否有比 TCP/IP 更快的应用程序间通信选项?我的意思是已经在 Java 中实现的东西,而不是我的 JNI 可能性d需要实施:)
我知道,不要过早优化,但总比后悔好。
【问题讨论】:
-
这里的愚蠢之处甚至是考虑
Socket.getOutputStream.write(byte[])以外的任何内容来处理由三个字节组成的数据你没有对象,也没有任何明显的 RPC 语义,所以没有理由甚至考虑其他任何事情。可能您应该考虑使用 UDP 多播。
标签: java performance rmi jgroups