Expand description
Control plane: leader election, assignment snapshots, barrier coordination. Cluster control plane: leader election, assignment snapshots, and barrier coordination.
Re-exports§
pub use barrier::BarrierAck;pub use barrier::BarrierAnnouncement;pub use barrier::BarrierCoordinator;pub use barrier::ClusterKv;pub use barrier::InMemoryKv;pub use barrier::Phase;pub use barrier::QuorumOutcome;pub use barrier::ACK_KEY;pub use barrier::ANNOUNCEMENT_KEY;pub use controller::ClusterController;pub use decision::CheckpointDecisionStore;pub use decision::DecisionError;pub use leader::leader_of;pub use snapshot::AssignmentSnapshot;pub use snapshot::AssignmentSnapshotStore;pub use snapshot::RotateOutcome;pub use snapshot::SnapshotError;pub use chitchat_kv::ChitchatKv;
Modules§
- barrier
- Cross-instance barrier protocol over a gossip KV. Leader announces, followers ack, leader polls for quorum.
- chitchat_
kv - Chitchat-backed
ClusterKv. Reads filter bylive_nodes()so suspected peers don’t count toward quorum. - controller
- Facade over
ClusterKv+BarrierCoordinator+ membership watch.NoneonCheckpointCoordinatormeans single-instance mode. - decision
- Durable cluster-wide commit marker for checkpoint 2PC.
- leader
- Weak leader election: lowest-ID live instance wins. Split-brain is
tolerated because
epoch=N/_COMMITis CAS-guarded. - snapshot
- Durable vnode→instance assignment snapshots. One object per
version at
control/assignment-snapshots/v{N:016}.json. Chitchat carries the ephemeral copy; these files survive full-cluster restart.