所以设置如下:
- Windows 10 主机 + 使用主机的 Intellij IDE
- guest 虚拟机 Debian 8 Jessie,带有正在运行的 Java 后端应用程序 + AngularJS/PHP 前端客户端。
虚拟机上也运行着ZeroMQ。现在,我想从我的 IDE(位于主机上)调试后端应用程序,但看来我还应该安装 ZeroMQ 以允许两者之间的通信。
我还被告知 ZeroMQ 的 Win 和 Linux 版本可能不兼容,但我应该通过在主机上安装然后在 VM 上打开端口来尝试一下。
我几乎不知道如何进行。到目前为止,我已经阅读了一些 ZeroMQ 邮件列表条目,但没有找到关于我的特定需求的有用信息。
首先,有没有人成功实现类似的目标?主机:Win10, guest VM:Debian 8。
最佳答案
(cit.:) "I was also told that probably Win and Linux versions of ZeroMQ are not compatible"
The trust of such a man has gone.
初始说明:
ZeroMQ 在所有实现良好的端口之间是交叉兼容的。
鉴于契约(Contract)定义的服务在实现中发挥了一定的作用,因此声称不兼容是没有意义的。理性项目正确使用这种契约(Contract)定义的服务方法,因为需要保护各方免受任何不良实现和服务的影响,实现足以满足契约(Contract)规范不会对依赖于实现的分布式架构造成任何破坏-不可知的服务/协议(protocol)。
任何到任何架构
一旦任何一对应用程序获得 ZeroMQ 的支持,这些服务就可以集成任何可以设计和实现的信号/消息流。
因此,您的 Java 后端应用程序可以“通过”ZeroMQ 可扩展正式通信模式与任何服务对手组合进行通信,无论是在 Go、Erlang、C++、python、php、FORTRAN、MATLAB 中实现的那些,无论是为任何此类 {local|remote}-
host 选择的传输类。
可用传输类的选择针对某些虚拟化 HyperVisor 进行了扩展,因此除了经典选择之外
{ inproc:\\| IPC:\\| TCP:\\| PGM:\\| epgm:\\}
加上还有一个用于VM-s,使用vmci:\\
传输类,特定于高效使用 HyperVisor 调解的互连,而无需构建任何不必要的 ISO-OSI-L3 开销。
最好的下一步:
恕我直言,如果您对专业消息传递很认真,请阅读这本好书并获取基本设置知识、使用软信号的更复杂的多套接字消息传递层设计以及对并发、异构的强大功能的进一步思考,分布式处理以提升您的学习曲线。
Pieter Hintjens 的书“Code Connected,第 1 卷”(提供 PDF 格式)不仅仅是您问题的推荐来源。
在那里您将获得进一步使用 ZeroMQ 的理由。
ZeroMQ 是一个很棒的工具,不仅适用于消息传递层本身。
值得付出时间和努力。
关于java - 在主机上运行我的 Intellij IDE,我需要 ZeroMQ 以便与 guest 上的后端应用程序通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629709/