Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们有一组应用程序,我想使用 JMS 在它们之间进行消息传递。现在,我们的应用程序都与 ActiveMQ 代理建立 TCP 连接。是否可以让同一主机上的 15 个左右的应用程序使用 inVM 连接或使用某种形式的共享内存,而该主机上的其余 20 个左右的应用程序仍然使用 TCP?
基本上,我想将一个配置有 inVM 的代理和一个配置有 TCP 的代理结合起来。我可以这样做,还是必须进行网桥配置?
仅当应用程序位于同一 JVM 中时,inVM 连接才有效。
如果它们在同一个盒子上但在不同的进程中,那么 TCP 是最好的选择。大多数操作系统将使用高效的 TCP 实现,因此您实际上不会进入网络在本地进程之间进行通信。
消息是基于流的,所以共享内存对 ActiveMQ 没有帮助。如果您的应用程序与代理在同一个 JVM 中,它实际上只是 TCP 或 VM 的一种选择