Membership protocol for Mirage

Written by andreas (Andreas Garnæs)
Classified under: active project
Published: 2016-08-24 (last updated: 2016-08-24)

Membership management is an important component of distributed systems, where it is the foundation of things like distributed concensus, application layer sharding, log replciation, etc. SWIM is a scalable membership protocol based on gossip principles that is already seeing adoption in industry (e.g. Consul by Hashicorp and Ringpop by Uber).

The aim of this project is to create a Mirage SWIM task that can run alongside an application task and keeps track of cluster state. The application task can then query the SWIM task about the cluster state, e.g. to issue a request to another node.

It's still early days for the implementation, though it does work in small scenarios on localhost.

Repo: mirage-swim