Expand description
Aegis Replication - Distributed Systems
Raft-based consensus and replication for distributed Aegis deployments. Provides leader election, log replication, sharding, and distributed transactions.
Key Features:
- Raft consensus algorithm implementation
- Multi-master replication support
- Consistent hashing and sharding
- Distributed transactions (2PC)
- Vector clocks for causality tracking
- CRDTs for conflict-free replication
- Automatic failover and recovery
@version 0.1.0 @author AutomataNexus Development Team
Re-exports§
pub use raft::RaftNode;pub use raft::RaftState;pub use raft::RaftConfig;pub use log::LogEntry;pub use log::LogIndex;pub use log::ReplicatedLog;pub use state::StateMachine;pub use state::StateMachineBackend;pub use state::DatabaseStateMachine;pub use state::DatabaseOperationHandler;pub use state::NoOpDatabaseHandler;pub use state::Command;pub use state::CommandType;pub use state::CommandResult;pub use state::Snapshot;pub use node::NodeId;pub use node::NodeInfo;pub use node::NodeStatus;pub use cluster::Cluster;pub use cluster::ClusterConfig;pub use cluster::ClusterState;pub use transport::Message;pub use transport::MessageType;pub use transport::Transport;pub use http_transport::HttpTransport;pub use engine::ReplicationEngine;pub use hash::ConsistentHash;pub use hash::HashRing;pub use hash::VirtualNode;pub use shard::Shard;pub use shard::ShardId;pub use shard::ShardManager;pub use shard::ShardState;pub use partition::PartitionKey;pub use partition::PartitionStrategy;pub use partition::PartitionRange;pub use router::ShardRouter;pub use router::RoutingTable;pub use router::RouteDecision;pub use transaction::TransactionId;pub use transaction::TransactionState;pub use transaction::TransactionCoordinator;pub use transaction::DistributedTransaction;pub use vector_clock::VectorClock;pub use vector_clock::VectorClockOrdering;pub use vector_clock::HybridClock;pub use vector_clock::HybridTimestamp;pub use vector_clock::LamportClock;pub use crdt::CRDT;pub use crdt::GCounter;pub use crdt::PNCounter;pub use crdt::GSet;pub use crdt::TwoPSet;pub use crdt::LWWRegister;pub use crdt::MVRegister;pub use crdt::ORSet;pub use crdt::LWWMap;
Modules§
- cluster
- Aegis Cluster Management
- crdt
- Aegis CRDTs (Conflict-free Replicated Data Types)
- engine
- Aegis Replication Engine
- hash
- Aegis Consistent Hashing
- http_
transport - HTTP Transport for Raft Communication
- log
- Aegis Replication Log
- node
- Aegis Replication Node
- partition
- Aegis Partitioning
- raft
- Aegis Raft Consensus
- router
- Aegis Shard Router
- shard
- Aegis Shard Management
- state
- Aegis Replication State Machine
- transaction
- Aegis Distributed Transactions
- transport
- Aegis Replication Transport
- vector_
clock - Aegis Vector Clocks