Tuesday, 30 March 2021

Insights into Azure Service Fabric

A great source of insights into Azure Service Fabric (ASF) is the book "Programming Microsoft Azure Service Fabric" (or "Programming ASF or "PASF") by Haishi Bai.

Haishi is a principal software engineer at Microsoft.

The problem of leader election in distributed computing is one of the motivating problem statements that led to the development of ASF. This is the selection of a unique node in a series of nodes to co-ordinate a task. The algorithm details depend on the connection topology of the nodes e.g. rings, hypercubes etc.

Why is leader election an interesting topic in distributed systems?

Distributed systems may experience network outages or process failures. Consequently a leader node may cease to be the leader in a particular scenario.

To solve this problem, many solutions employ a heartbeat or polling method, so nodes are assured of the presence of the leader.  When that leader terminates unexpectedly the nodes must elect a new leader.

Some options are:

1. Node with lowest process ID becomes the leader/

2. Race to acquire a shared distributed mutex.  One caveat here is if the leader terminates, the mutex must be released.

3. Apply a leader election algorithm such as the Bully Algorithm or Ring Algorithm.

Containers and Linux support are newer parts of ASF.

No comments: