Configuring an HA+DR Apache ActiveMQ™ Cluster

To quote the Apache Software Foundation:

Apache ActiveMQ™ is the most popular and powerful open source messaging and Integration Patterns server. Apache ActiveMQ is fast, supports many Cross Language Clients and Protocols, comes with easy to use Enterprise Integration Patterns and many advanced features while fully supporting JMS 1.1 and J2EE 1.4. Apache ActiveMQ is released under the Apache 2.0 License.

Deploying a synchronously replicated shared-nothing storage cluster (DRBD) as outlined in this guide, is a supported method for achieving HA without requiring a clustered filesystem or shared database. This method also mitigates the risk of a SAN, clustered filesystem, or shared database being a single point of failure in our persistent storage layer.

DRBD Proxy is leveraged in this guide to enable asynchronous WAN replication; adding DR capabilities to the persisted messages.

Pacemaker, the cluster resource manager, ensures that our ActiveMQ processes are healthy and responsive. This gives engineers a more granular and proactive approach to HA. Pacemaker checks the service’s health, and fails-over to the peer before a message fails. ActiveMQ’s client-side failover transport, by contrast, checks for a service IP’s availability and the queues ability to process a message before the client fails-over to the slave node. HA at the hypervisor level is another common approach to HA, which simply checks for a guest machine to be powered on, but doesn’t check for service health; another point for Pacemaker.

Let me know how you’re using AMQ with DRBD and/or Pacemaker in the comments!

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *