Server Concepts
A Universal Messaging Cluster is a collection of Universal Messaging Realms (servers) that contain common messaging resources such as channels/topics or queues. Each clustered resource exists in every Realm within the cluster. Whenever the state of a clustered resource changes, the state change is updated on all realms in the cluster.
Clustering also offers a convenient way to replicate content between servers and ultimately offers a way to split large numbers of clients over different servers in different physical locations.
The following diagram represents a typical three-realm cluster distributed across three physical locations:
Three-realm cluster over three locations. Clustered Resources
A Universal Messaging Realm server is a container for a number of messaging resources that can be clustered:
Universal Messaging Channels
JMS Topics
Universal Messaging Queues
JMS Queues
DataGroups
Access Control Lists
Resource Attributes including Type, Capacity, TTL
Client Transactions on Universal Messaging Resources
Within the context of a cluster a single instance of a channel, topic or queue can exist on every node within the cluster. When this is the case all attributes associated with the resource are also propagated amongst every realm within the cluster. The resource in question can be written to or read from any realm within the cluster.
The basic premise for a Universal Messaging Cluster is that it provides a transparent entry point to a collection of realms that share the same resources and are, in effect, a mirror image of each other.
A Universal Messaging cluster achieves this by the implementation of some basic concepts described below: