Loose Clustering

Learn about loose clustering, the server’s role in loose clustering, and how instances communicate in such clustering techniques.

Individual servers in loose clustering

Systems should exhibit loose clustering. In a loose cluster, the loss of an individual instance is no more significant than the fall of a single tree in a forest.

However, this implies that individual servers don’t have differentiated roles. At the very least any differentiated roles are present in more than one instance. Ideally, the service wouldn’t have any unique instance. But if it does need a unique role, then it should use some form of leader election. That way the service as a whole can survive the loss of the leader without manual intervention to reconfigure the cluster.

Instances in a loose cluster

The members of a loose cluster can be brought up or down independently of each other. We shouldn’t have to start the members in a specific sequence. In addition, the instances in a cluster shouldn’t have any specific dependencies on, or even knowledge of, the individual instances of another cluster. They should only depend on a virtual IP address or DNS name that represents the service as a whole.

Direct member-to-member dependencies create hard linkages preventing either side from changing independently. Take a look at the following figure for an example. The calling application instances in cluster 1 depend on the DNS name (bound to a load-balanced IP address) cluster 2 serves.

Get hands-on with 1200+ tech skills courses.