Hi all,

I’m stuck with getting an ActiveMQ cluster going within a Docker environment using Weave. The environment runs on an Amazon AWS ECS Cluster of 2 EC2 Instances running in the same Region, but in different Availability Zones. The clustering of ActiveMQ must rely on multicast due to the scaling nature of ECS.

I used Tomcat’s SimpleTcpCluster to confirm that multicast is working at the Weave level. (The only changes I did for this was to add unique jvmRoutes to each Tomcat instance and uncomment the SimpleTcpCluster configuration.) However, trying to cluster ActiveMQ has been unsuccessful so far. I took [active-mq-home]/examples/conf/activemq-dynamic-network-broker2.xml as a basis and changed the brokerName for each ActiveMQ instance to be something unique. However, after trying both tcp://0.0.0.0:61618 and tcp://10.40.0.1:61618 for the openwire transportConnector the two instances still won’t form a cluster.

I suspect that ActiveMQ tries to use the network interface that does not support multicasting. The container ActiveMQ is running on has two network interfaces to its disposal: eth0 (Amazon AWS ECS) and ethwe (Weave). The latter does support multicasting. The IP address mentioned earlier (10.40.0.1) is the IP address assigned to the ethwe network interface. How can I get clustering for ActiveMQ to work based on multicasting in this environment?

Thanks,
Jeroen...



PS: I'm using ActiveMQ 5.13.4.

Reply via email to