1.7. High Availability
This section describes how to configure a JBoss A-MQ application cluster in a single OpenShift Enterprise domain.
How clustering works in the OpenShift Enterprise domain
When you deploy multiple JBoss A-MQ instances in a single OpenShift Enterprise domain, the first application that you create acts as the master node of the cluster. Each subsequent application that you create acts as a slave node.
Gear profile configuration
To prevent the master and slave applications from deploying on the same OpenShift Enterprise node, you must assign different a different gear profile to each set of nodes on which you deploy the JBoss A-MQ applications.
The gear profile properties do not need to be unique. You can assign the same gear profile to multiple master nodes or multiple slave nodes.
ZooKeeper ensemble server requirements
JBoss A-MQ supports management of multiple applications in an ensemble. However, when you deploy the JBoss A-MQ applications in OpenShift Enterprise, the ZooKeeper server runs inside the master application. Therefore, you cannot create ensembles of multiple applications.
To manage multiple applications in an ensemble, you must deploy a standalone JBoss A-MQ application and create an external ZooKeeper ensemble to manage the JBoss A-MQ instances that run in the OpenShift Enterprise domain.
Data storage and management
The JBoss A-MQ application cluster must use JDBC Master Slave or Replicated LevelDB Store to store and manage the data in the cluster.
Auto-scaling
OpenShift Enterprise supports auto-scaling of applications based on HTTP traffic. However, the JBoss A-MQ cartridge does not use HTTP to process data. Therefore, you cannot configure auto-scaling for the JBoss A-MQ cartridge.