我们有一组应用程序,我想使用JMS进行消息传递。现在,我们的应用程序都与ActiveMQ代理建立TCP连接。是否可以使同一主机上的15个左右的应用程序使用inVM连接或使用共享内存的形式,而剩余的20个左右的应用程序使用该主机仍然使用TCP?
基本上,我想要将使用inVM配置的代理和使用TCP配置的代理组合在一起。我可以这样做,还是必须进行桥接配置?
答案 0 :(得分:2)
只有应用程序位于同一JVM中时,inVM连接才有效。
如果它们在同一个盒子上但在不同的进程中,那么TCP是最好的选择。大多数操作系统将使用高效的TCP实现,因此您实际上不会进入网络以在本地进程之间进行通信。
Messaging是基于流的,因此共享内存对ActiveMQ没有任何帮助。如果您的应用程序与代理
在同一个JVM中,它实际上只是TCP或VM的选择