【问题标题】:Running my Intellij IDE on host, I need ZeroMQ in order to communicate with the backend app on guest在主机上运行我的 Intellij IDE,我需要 ZeroMQ 以便与来宾上的后端应用程序通信
【发布时间】:2025-11-25 00:15:02
【问题描述】:

所以设置如下:

  • Windows 10 主机 + 使用来自主机的 Intellij IDE
  • 来宾虚拟机 Debian 8 Jessie,运行 Java 后端应用程序 + AngularJS/PHP 前端客户端。

VM 上还运行着 ZeroMQ。现在,我想从我的 IDE(在主机上)调试后端应用程序,但似乎我还应该安装 ZeroMQ 以允许两者之间的通信。

我还被告知,ZeroMQ 的 Win 和 Linux 版本可能不兼容,但我应该通过在主机上安装然后在 VM 上打开端口来尝试一下。

我几乎不知道该怎么做。到目前为止,我已经阅读了一些 ZeroMQ 邮件列表条目,但没有发现关于我的特定需求的有用信息。

首先,有没有人成功实现过类似的目标?主机:Win10,来宾虚拟机:Debian 8。

【问题讨论】:

    标签: java linux windows intellij-idea zeromq


    【解决方案1】:

    (cit.:) “我还被告知可能 Win 和 Linux 版本的 ZeroMQ 不兼容”
    这样一个人的信任已经消失了。

    初始说明:
    ZeroMQ 在所有实现良好的端口之间是交叉兼容的。

    鉴于合同定义的服务在实施中发挥了一定作用,因此声称不兼容是没有意义的。 Rational 项目使用这种合同定义的服务方法是正确的,因为需要保护各方免受任何不良实施和服务的影响,实施刚好足以满足合同规范不会对依赖实施的分布式架构造成任何破坏- 不可知的服务/协议。


    任何到任何架构

    一旦任何一对应用程序获得了 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, Volume 1”(提供 PDF 格式)不仅仅是您的问题的推荐来源。

    您将获得进一步使用 ZeroMQ 的理由

    ZeroMQ 是一个很棒的工具,不仅适用于消息传递层本身。

    值得花时间和精力。

    【讨论】:

      最近更新 更多