Each node cycles through four states:
BOOT → REGISTER → SYNC → STEADY
.
Nodes in STEADY phase participate in voting and replication; failed nodes trigger redistribution.
When a node drops below the quorum signal threshold, the mesh automatically triggers:
SnapshotID
Each region acts as an authority zone — nodes broadcast heartbeats through region-scoped multicast channels; failover crosses regions when TTLs expire.
[U2] : https://cloud.ibm.com/docs/vpc?topic=vpc-about-vpc
async fn heartbeat_loop(node_id: Uuid, tx: Sender<Heartbeat>) {
loop {
tx.send(Heartbeat::new(node_id)).await.ok();
tokio::time::sleep(Duration::from_secs(2)).await;
}
}
Each node publishes heartbeats tagged with region
and zone
metadata.