嗨,我正在评估ActiveMQ中的不同发现协议,我在代理网络中的多播发现有问题。
我已经设置了一个代理网络,其中3个activeMQ代理连接到一个多播组
<transportConnectors>
<transportConnector name="default" uri="tcp://192.168.11.1:61616" discoveryUri="multicast://default?group=Bus"/>
</transportConnectors>
我有一个生产者在不同的网络- 192.168.5.10,当我试图创建一个连接到网络我的生产者无法发现它
...
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("discovery:(multicast://default?group=Bus)");
...
但是当我尝试使用故障转移连接时,我能够成功创建连接并生成消息
...
ConnectionFactory connectionFactory = new ActiveMQConnectionFactory("failover:(tcp://192.168.11.1:61616,tcp://192.168.11.2:61616,tcp://192.168.11.3:61616)");
...
现在我的问题是如何使多播uri被全局访问?我在这里引用了以下文档。但这不足以让我理解。
如果有人能解释一下,那就太有帮助了。提前感谢!
使多播在您的环境中可访问是您的网络管理员的一个问题。他们需要启用IGMP路由以使组播工作。
有关多播工作原理的概述,请参阅:http://www.enterprisenetworkingplanet.com/netsp/article.php/3623181/Networking-101--Understanding-Multicast-Routing.htm
cisco设备IGMP配置的详细信息请参见http://www.cisco.com/c/en/us/td/docs/ios/12_2/ip/configuration/guide/fipr_c/1cfmulti.html