4

我们有一组应用程序,我想使用 JMS 在它们之间进行消息传递。现在,我们的应用程序都与 ActiveMQ 代理建立 TCP 连接。是否可以让同一主机上的 15 个左右的应用程序使用 inVM 连接或使用某种形式的共享内存,而该主机上的其余 20 个左右的应用程序仍然使用 TCP?

基本上,我想将一个配置有 inVM 的代理和一个配置有 TCP 的代理结合起来。我可以这样做,还是必须进行网桥配置?

4

1 回答 1

2

仅当应用程序位于同一 JVM 中时,inVM 连接才有效。

如果它们在同一个盒子上但在不同的进程中,那么 TCP 是最好的选择。大多数操作系统将使用高效的 TCP 实现,因此您实际上不会进入网络在本地进程之间进行通信。

消息是基于流的,所以共享内存对 ActiveMQ 没有帮助。如果您的应用程序与代理在同一个 JVM 中,它实际上只是 TCP 或 VM 的一种选择

于 2008-11-17T12:33:32.720 回答