ActiveMQ动态发现在具有此目标的原型中不起作用:
JMS客户端应用程序(消息生成器),它将请求消息负载平衡到多个(2)JMS使用者
应用。有三个亚马逊T2-micro EC2实例运行此原型 -
每个实例都运行activemq 5.14.4。负载平衡是
通过静态发现创建的经纪人网络实现
在activemq客户端实例activemq.xml文件上配置的网络连接器为:
<networkConnector
name="frontEnd->WMR1"
uri="static:(tcp://<publicip>:61616)"
duplex="true"
decreaseNetworkConsumerPriority="true"
networkTTL="2"
dynamicOnly="true">
<excludedDestinations>
<topic physicalName=">" />
</excludedDestinations>
</networkConnector>
<networkConnector
name="frontEnd->WMR2"
uri="static:(tcp://<publicip>:61616)"
duplex="true"
decreaseNetworkConsumerPriority="true"
networkTTL="2"
dynamicOnly="true">
<excludedDestinations>
<topic physicalName=">" />
</excludedDestinations>
</networkConnector>
具有静态发现的原型可以很好地工作,并负载平衡任意数量的JMS客户端消息 到2个JMS消费者应用程序。
但是,我需要增强原型以使用动态(多播)发现来生成代理网络。所以我试过了:
`<networkConnectors>
<networkConnector uri="multicast://default"/>
</networkConnectors>
<transportConnectors>
<transportConnector uri="tcp://localhost:0" discoveryUri="multicast://default"/>
</transportConnectors>`
按照文档中的指示,但动态发现不起作用。传输和网络连接器 创建好了(我可以看到它们 activemq管理控制台)但它们是空的 - 没有通过动态发现发现任何消息代理。
我详尽地研究了这个问题,但有一次我找到了一个帖子,提出了这个问题 问题可能出在/ etc / hosts的内容中:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 :: 1 localhost6 localhost6.localdomain6
我需要一些帮助,让activemq动态发现能够在EC2 Amazon T2-micro实例上运行。
答案 0 :(得分:0)
问。 Amazon VPC是否支持多播或广播?
没有
EC2 Classic也是如此。这些网络不是以太网,它们是以太网的软件定义仿真,与原生以太网相比,具有更好的可扩展性和安全性。
您可以构建一个overlay,但是出于发现的目的还有一点,因为叠加层需要静态配置。