Why network of brokers?
Scaling enterprise applications on commodity hardware is a rage nowadays. ActiveMQ caters to that very well by being able to create a network of brokers to share the load.
Many times applications running across geographically distributed data centers need to coordinate messages. Running message producers and consumers across geographic regions/data centers can be architected better using network of brokers.
In this 7 part blog series, we will look into the following topics to gain understanding of this very powerful ActiveMQ feature:
- Network Connector Basics - Part 1
- Duplex network connectors - Part 2
- Load balancing consumers on local/remote brokers - Part 3
- Load-balance consumers/subscribers on remote brokers
- Queue: Load balance remote concurrent consumers - Part 4
- Topic: Load Balance Durable Subscriptions on Remote Brokers - Part 5
- Store/Forward messages and consumer failover - Part 6
- How to prevent stuckmessages
- Virtual Destinations - Part 7
- Advanced Messaging with ActiveMQ by Dejan Bosanac [Slides 32-36]
- Understanding ActiveMQ Broker Networks by Jakub Korab
- ActiveMQ 5.8.0 – To create broker instances
- Apache Ant – To run ActiveMQ sample producer and consumers for demo.
Network Connector Basics - Part 1
Setup network connector between broker-1 and broker-2
- Create two broker instances, say broker-1 and broker-2
Ashwinis-MacBook-Pro:bin akuntamukkala$ pwd /Users/akuntamukkala/apache-activemq-5.8.0/bin Ashwinis-MacBook-Pro:bin akuntamukkala$ ./activemq-admin create ../bridge-demo/broker-1 Ashwinis-MacBook-Pro:bin akuntamukkala$ ./activemq-admin create ../bridge-demo/broker-2Since we will be running both brokers on the same machine, let's configure broker-2 such that there are no port conflicts.
- Edit /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/activemq.xml
- Change transport connector to 61626 from 61616
- Change AMQP port from 5672 to 6672 (won't be using it for this blog)
- Edit /Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-2/conf/jetty.xml
- Change web console port to 9161 from 8161
- Configure Network Connector from broker-1 to broker-2
Add the following XML snippet to/Users/akuntamukkala/apache-activemq-5.8.0/bridge-demo/broker-1/conf/activemq.xml
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)