For instances that need a
Coordinator or an Aggregator
> Horizontal scaling with access to shared resource
> Parallel computation with aggregated results
When there is no natural leader
Several strategies
> Arbitrary selection ( lowest-ranked instance or process ID)
> Racing for shared Mutex
> Implementing election algorithms:
Bully Algorithm
Ring Algorithm
Issues and Considerations
> Election process should be resilient
> Leader failure must be monitored
> Horizontal auto-scaling might kill the leader when scaling down
> Mutex provider introduces single point of failure
> Single election process = simplicity , brings vulnerability
> Manual algo = greatest tuning and optimizing flexibility