【发布时间】:2014-03-06 01:38:19
【问题描述】:
我一直使用 ActiveMQ 或 RabbitMQ,但最近开始深入研究 ZeroMQ,因为它得到了关注。如果我阅读的内容是正确的,那么它似乎是消息代理以及进程间通信(IPC)的机制?
我的情况是,我有 2 个 Java 进程需要在同一台机器上相互通信。我不想使用共享文件方法,因为它们之间的对话/协议非常复杂,而且文件解决方案看起来很笨拙。
所以我打算开始使用 Netty 或 MINA 之类的东西来定义我自己的通信协议,并让它们通过端口进行对话,但后来我开始阅读有关 ZeroMQ 的内容想知道我是否可以用更少的工作完成同样的工作。
所以我问:ZeroMQ 是否可以用于 Java 进程之间的 IPC,如果可以,是否有具体的代码示例或文章解释了如何做到这一点?
【问题讨论】:
-
Zero表示零经纪人。 ZeroMQ 用于基于消息的 IPC,他们的网站上有大量示例。 -
感谢@Peter Lawrey (+1) - 但如果你真的访问他们的网站,你会发现:(1) 大量非 Java 语言的示例,以及 (2) Java例如,所有这些都关注多个线程之间的通信在同一个 JVM 进程中,而不是在 2 个 JVM 进程之间......
-
我在您的陈述中看不到任何与 @PeterLawrey 告诉您的单词相矛盾的内容。
-
沉默是让人头疼的问题,一开始怎么会有人怀疑这一点。
-
这里没有证据表明任何人不了解进程和线程之间的区别,也没有证据表明 ZeroMQ 仅限于单个 JVM。这里的结论跳跃符合奥林匹克标准。