activemq动态发现不适用于EC2

时间:2017-04-11 16:58:22

标签: amazon-ec2 activemq

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="&gt;" /> </excludedDestinations> </networkConnector> <networkConnector name="frontEnd->WMR2" uri="static:(tcp://<publicip>:61616)" duplex="true" decreaseNetworkConsumerPriority="true" networkTTL="2" dynamicOnly="true"> <excludedDestinations> <topic physicalName="&gt;" /> </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实例上运行。

1 个答案:

答案 0 :(得分:0)

  

问。 Amazon VPC是否支持多播或广播?

     

没有

     

https://aws.amazon.com/vpc/faqs/

EC2 Classic也是如此。这些网络不是以太网,它们是以太网的软件定义仿真,与原生以太网相比,具有更好的可扩展性和安全性。

您可以构建一个overlay,但是出于发现的目的还有一点,因为叠加层需要静态配置。