Expand description
Replication Module
Implements single-primary, multi-replica replication via WAL streaming.
§Architecture
- Primary: accepts writes and streams WAL records to replicas
- Replica: read-only, connects to primary for WAL streaming
- Initial sync via snapshot transfer, then incremental WAL
§Usage
ⓘ
// Primary
let options = RedDBOptions::persistent("./primary-data")
.with_replication(ReplicationConfig::primary());
// Replica
let options = RedDBOptions::persistent("./replica-data")
.with_replication(ReplicationConfig::replica("http://primary:50051"));Re-exports§
pub use bookmark::BookmarkDecodeError;pub use bookmark::CausalBookmark;pub use cascade::plan_upstream;pub use cascade::CascadeRefusal;pub use cascade::CascadeRelay;pub use cascade::CascadeUpstream;pub use cascade::DownstreamSlot;pub use cascade::ReplicaClass;pub use cascade::UpstreamChoice;pub use commit_policy::CommitPolicy;pub use commit_waiter::AwaitOutcome;pub use commit_waiter::CommitWaiter;pub use election::quorum_threshold;pub use election::randomized_election_timeout;pub use election::ElectionCoordinator;pub use election::ElectionOutcome;pub use election::ElectionRequest;pub use election::ElectionTransport;pub use election::FileLastVoteStore;pub use election::LastVote;pub use election::LastVoteError;pub use election::LastVoteStore;pub use election::Member;pub use election::MemberKind;pub use election::MemoryLastVoteStore;pub use election::RefusalReason;pub use election::VoteDecision;pub use election::VoteRequest;pub use election::Voter;pub use election::VotingState;pub use failover::FailoverCoordinator;pub use failover::FailoverError;pub use failover::FailoverMode;pub use failover::FailoverNode;pub use failover::FailoverOutcome;pub use failover::FailoverRequest;pub use failover::FailoverTransport;pub use failover::NodeRole;pub use failover::RoleAssignment;pub use fence::FenceBoundary;pub use fence::FenceVerdict;pub use fence::FileTermStore;pub use fence::MemoryTermStore;pub use fence::StaleTermFenced;pub use fence::TermFence;pub use fence::TermStore;pub use fence::TermStoreError;pub use flow_control::Admission;pub use flow_control::FlowController;pub use lease::LeaseError;pub use lease::LeaseStore;pub use lease::WriterLease;pub use quorum::QuorumConfig;pub use quorum::QuorumCoordinator;pub use quorum::QuorumError;pub use rollback::DivergentTail;pub use rollback::RollbackCoordinator;pub use rollback::RollbackError;pub use rollback::RollbackEvent;pub use rollback::RollbackOutcome;pub use rollback::RollbackPlan;pub use rollback::RollbackRequest;pub use rollback::RollbackTransport;pub use rollback::TailRecord;pub use swap_db::RebootstrapInProgress;pub use swap_db::SwapDb;pub use topology_advertiser::LagConfig;pub use topology_advertiser::TopologyAdvertiser;pub use topology_advertiser::TopologyAuthGate;pub use topology_advertiser::DEFAULT_REPLICA_TIMEOUT_MS;pub use topology_advertiser::TOPOLOGY_READ_CAPABILITY;pub use witness::RuntimeProfile;pub use witness::WitnessSupervisor;
Modules§
- bookmark
- Causal bookmark token helpers.
- cascade
- Cascading replication for async read-replicas (issue #838, PRD #819).
- cdc
- Change Data Capture (CDC) — stream of database change events.
- commit_
policy - Primary commit policies (PLAN.md Phase 11.4).
- commit_
waiter - Synchronous commit waiter (PLAN.md Phase 11.4 —
ack_n). - election
- Term-based, quorum-gated automatic election (issue #834, PRD #819, ADR 0030).
- failover
- Coordinated zero-RPO failover (issue #833, PRD #819).
- fence
- Stale-term fencing for a returning ex-primary (issue #835, PRD #819, ADR 0030).
- flow_
control - Write-admission flow control keyed on in-quorum replica lag (issue #826).
- lease
- Serverless writer lease (PLAN.md Phase 5 / W6).
- logical
- Logical replication helpers shared by replica apply and point-in-time restore.
- primary
- Primary-side replication: WAL record production and snapshot serving.
- quorum
- Quorum-based commit coordination (Phase 2.6 multi-region PG parity).
- replica
- Replica-side replication: connects to primary, consumes WAL records.
- rollback
- Auto-rollback of a deposed primary to the common point (issue #840, PRD #819, ADR 0030).
- scheduler
- Backup Scheduler — automatic periodic snapshots with optional remote upload.
- swap_db
- Stay-readable re-bootstrap with an atomic dataset swap (issue #837, PRD #819).
- topology_
advertiser - Server-side
TopologyAdvertiser(issue #167). - witness
- Witness runtime profile (issue #836, PRD #819, ADR 0030).
Structs§
- Replication
Config - Configuration for replication.
Enums§
- Replication
Role - Role of this RedDB instance in a replication cluster.