The Raft Consensus Algorithm helps computers to work together as a cluster. This works with majority elections. An overview.
When people have to work together in a group, it can get tiring at times – and the typical sentences that are part of everyday life in every office are said: “I sent that around!”, “You still have the old version, the new one is there in the folder!” and “Oh, you were on vacation when we changed that.” All of these symptoms belong to a big problem: How do you ensure that all members of a team share a common truth, i.e. a data status as a working basis?
This problem is not unique to humans; for computers, too, it is no trivial task to work smoothly in a team and agree on a common truth. Computers have it comparatively easy with each other: They work deterministically, i.e. produce identical results under identical conditions. They also know no emotions and human weaknesses such as envy, resentment and morbid ambition. An emotionless machine would not think of pushing ahead or interfering in someone else’s workspace.
It might therefore be so easy to develop an algorithm that produces a common truth among computers – and yet it took decades until a method that is functional, robust and easy to implement prevailed: the Raft consensus algorithm, which is found in many distributed systems today. This inconspicuous algorithm has become an important pillar of the Internet: The key-value database etcd, for example, works with Raft and is itself the foundation for the container orchestrator Kubernetes – and on this pillar there are many large and very large applications. Without Raft, Spotify, Netflix or Zalando would not exist in their current form.