ActiveMQ Review

You can set up a network of brokers that can span WANs and geographies. Messages get forwarded to the broker where the demand is.

What is most valuable?

One of the most important features of ActiveMQ is the ability to set up a network of brokers, and the ability to forward the message to another broker in the network, where there is a demand for messages from a consumer. These brokers could span over WANs and geographies. The messages will get forwarded to the broker where the demand is, which is what makes this a distributed messaging system.

The 'Shared nothing' configuration, where each broker has its own DB instance, is very important. It ensures that every message is accounted for and persisted in the DB to be replayed in case of failure.

Load balancing is important when huge numbers of messages are coming in. The messages get distributed to all the brokers, which are connected. In case of failure of any one broker, the message automatically gets routed to other brokers, ensuring no loss of messages.

By default, the failover protocol uses a random algorithm to choose one of the underlying connectors. If the connection fails, the transport will pick another URI and try to make a connection. The network automatically passes messages to connected brokers that have interested consumers. The failover protocol ensures clients do not need to be manually restarted in the case of a broker failure. As soon as the broker becomes available again, the client will automatically reconnect.

We also appreciate the easy setup of persistent messages using a DB like Oracle.

What needs improvement?

The master-slave relationship between brokers needs some improvement.

In case of shared architecture between brokers (i.e., both brokers sharing same the DB instance), one becomes master and the others become slaves. In this situation, the master always consumes the message and the slave is always in a dormant condition. This makes load balancing impossible. Probably this can be improved upon.

Another area of improvement is the monitoring console, which is kind of rudimentary. There is no facility to trace the entire XML message and take corrective action, such as resending the message.

If these facilities are added, it will be very good.

For how long have I used the solution?

I have been using ActiveMQ for 2 months.

What do I think about the stability of the solution?

We have not had any stability issues.

What do I think about the scalability of the solution?

We have not tested scalability.

Which solution did I use previously and why did I switch?

We considered switching from WebLogic JMS, since we faced many issues including message affinity and lost messages.

How was the initial setup?

The initial setup was straightforward.

What's my experience with pricing, setup cost, and licensing?

The pricing and license policies are pretty good.

**Disclosure: I am a real user, and this review is based on my own experience and opinions.
More ActiveMQ reviews from users
...who work at a Financial Services Firm
...who compared it with IBM MQ
Add a Comment