nexus_cluster · Python, running in the browser via Pyodide

Raft you can break

Five nodes running core/raft.py, the same file the TCP cluster runs, on a simulated network. Crash the leader, cut nodes off, drop messages, and write keys while it happens. Every committed write survives; writes a cut-off leader accepted do not.

loading Python (Pyodide, about 10 MB the first time)…
vote request   append   heartbeat   lost

Nodes

Client

0%

Events

Logs (colour is the term; dashed entries are not yet committed on that node)

Timings match the TCP cluster: elections after 1.5 to 3 s of silence, heartbeats every 0.5 s. Messages take 120 to 350 ms here so you can watch them move. Click a node to crash or restart it. Nothing about Raft on this page is JavaScript: the page asks web/sim.py to advance the clock and draws the snapshot it returns.