WSO2 Message Broker Cluster Management

When WSO2 Message Broker is running in clustered mode queues and topic subscriptions are distributed. Although This is transparent to the user, he may need to know what are the nodes in the cluster and how queue ownership has been dynamically decided. Cluster management feature is there to address that aspect of usability.

Following capabilities are provided under Cluster Management:

View Zookeeper coordination detail

WSO2 MB should be pointed to a running Apache Zookeeper server during cluster configuration. User can see that configuration here.

Figure 1: Apache Zookeeper Connection

View Cassandra coordination detail

WSO2 MB uses Apache Cassandra as the Message Storage. Thus during cluster configuration MB instance should be pointed to a running Apache Cassandra server. That connection detail is shown here.

Figure 2: Apache Cassandra Connection

View how queue ownership has been decided

When clustered, each queue has a owner (handling the actual processing of the queue), which is dynamically decided considering the load distributed among the cluster nodes. If the user is interested to know what nodes process which queues, that information is listed to a table as below.

Figure 3: Nodes and Queue Ownership

This table lists all the nodes that is visible to the server accessed by the management console. After setting up the cluster, using this table users can verify that each server can see one another in the cluster.

After each node, it shows how many queues are owned by that server node. This is analogous to the workload owned by each node in the cluster for queues defined. When the number is clicked user, is navigated for individual queue information.

View individual queue information node-wise

This shows the names of the queues owned by the node clicked above. Also number of messages yet to be delivered is also shown.

Figure 4: Nodes Specific Queues

What is node ID?

Node ID is assigned to each node joined in the cluster, giving a unique way to identify each node. This is useful for troubleshooting. Each node is considered as a peer, and there's no master-slave concept in WSO2 Message Broker. In following window it shows the node id been assigned to the node plus whether node is configured to be clustered or running in standalone mode.

Figure 5: Node ID and Running Mode