Cluster and Zone

Hello Senthil & Team

Could anyone tell us when should we use cluster and when should we use a zone. The documentation is not clear on this aspect.


Clusters are for reliability. All messages are duplicated to all members in a cluster and clients can automatically failover to another node inside a cluster. So a cluster prevents you from an outage and/or message loss if a node goes down. Clusters are used to get better/high availability.
Zones can span several nodes or clusters and are used if different client shall connect to different nodes/clusters and do not share all messages. Inside a zone only the messages are forwarded to other nodes which have a subscriber there. So a zone gives you automatic forwarding of messages between nodes/clusters which perform different tasks most of the time. A zone does not give you enhanced availability.

Thank you for your reply.

In case in cluster with site scenario, the non-prime site goes down, what happens to the message. Will the prime site holds the message and send it to non-prime site once its available.


No, not exactly :wink:

All messages are already replicated into all cluster nodes before the messages are acknowledged to the sender. As soon as the receiver reconnects to a new node, the messages are passed to him. The standard libraries delivered and IS do failover automatically if correctly configured. If the node come up again, the messages which are then in the queue will get synched to all nodes again, but usually that is not the same messages as at the time of the failure.
This means, as long as one node stays alive, you do not loose any messages (you need quorum for the messages to be delivered though). Guaranteed messages are persisted to disc, so those are not lost even if all nodes go down, as long as your disc is reliable enough.