raft-lab

Five servers agreeing on one log. Crash them, cut the network, drop packets, and watch the Raft algorithm keep every committed write safe. This is the real Go implementation, running in your browser as WebAssembly.

Source on GitHub

Loading the Go runtime…

Logs

One row per server, one cell per entry. The number is the term the entry was written in. Filled cells are committed; outlined cells are stored but not yet safe.

What happened

    Things to try

    1. and count the ticks until a new one takes over.
    2. , then send a write. The old leader accepts it but can never commit it.
    3. . The stale leader sees a newer term, steps down, and its orphaned entry is replaced.
    4. and keep writing. Progress slows down; safety never breaks.