java - 在主机上运行我的 Intellij IDE,我需要 ZeroMQ 以便与 guest 上的后端应用程序通信

标签 java linux windows intellij-idea zeromq

所以设置如下:

  • 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 是一个很棒的工具,不仅适用于消息传递层本身。

值得付出时间和努力。

multi-socket messaging layer with soft signalling

关于java - 在主机上运行我的 Intellij IDE,我需要 ZeroMQ 以便与 guest 上的后端应用程序通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43629709/

相关文章:

与 Windows 平台相比,Linux 中的 CPU 需要花费太多时间来执行嵌套 for 循环

c - 输入 esc 字符存储十进制值 10,而它应该显示值 27

java - ListView 在 EditText 增长时滚动到顶部

java - 我们可以从网站提交的表格中获取哪些可能的数据

java - Android - 显示没有标题栏或有菜单按钮的菜单

linux - bash 脚本不为变量分配标志

linux - 使用 foreach 和 awk 命令将 csh 脚本转换为 bash 脚本

c# - 如何以编程方式在 .NET Web 服务的 IIS 中设置集成 Windows 身份验证?

windows - 由于源文件名是动态的,如何在 xcopy 中使用变量?

java - 数据未插入数据库 JPA+Hibernate