Expand description
Cluster bootstrap and join protocol.
Three startup paths:
-
Bootstrap: First seed node — creates topology, routing table, Raft groups, persists to catalog. The cluster is born.
-
Join: New node contacts a seed, receives full cluster state via
JoinResponse, persists, and registers peers. -
Restart: Node loads topology + routing from catalog, reconnects to known peers.
Re-exports§
pub use config::ClusterConfig;pub use config::ClusterState;pub use config::JoinRetryPolicy;pub use handle_join::handle_join_request;pub use start::start_cluster;
Modules§
- bootstrap_
fn - Bootstrap path: the founding member of a new cluster.
- config
- Cluster configuration and post-start state.
- handle_
join - Server-side
JoinRequesthandler: build aJoinResponsefrom current cluster state. - join
- Join path: contact seeds, receive full cluster state, apply locally.
- probe
- Bootstrap probe: deterministic “who should bootstrap” decision and the live Ping probe used to confirm the elected bootstrapper is up.
- restart
- Restart path: reload topology/routing from catalog after a clean shutdown or crash.
- start
- Cluster startup entry point: dispatches to bootstrap, join, or restart.