-
Feature Request
-
Resolution: Done
-
Major
-
None
-
None
-
Documentation (Ref Guide, User Guide, etc.), Compatibility/Configuration
-
Medium
The process for determining the master node for an HASingleton basically involves iterating through the current list of cluster members and choosing the first member that has registered with the DRM for the service. The members list is ordered by when the nodes joined the cluster, so the oldest member will end up being the master.
This has the effect of putting all singleton services on one cluster node, preventing a balanced workload between cluster nodes.
We need to investigate a mechanism to allow some kind of per-singleton-service configuration of the master election policy.
A simple approach would be to add a simple numeric parameter, i.e. "1" means choose first eligible member, "2" means second, etc.
Any approach would have to be deterministic – i.e. when the cluster view changes each node independently determines if it is the master, so all nodes would have to get the same answer. This rules out use of approaches like random selection from the list of members.