Expand description
§OxiRS Cluster
Status: Production Release (v0.2.2) Stability: Public APIs are stable. Production-ready with comprehensive testing.
Raft-backed distributed dataset for high availability and horizontal scaling.
This crate provides distributed storage capabilities using Raft consensus with multi-region support, Byzantine fault tolerance, and advanced replication strategies.
§Features
- Raft Consensus: Production-ready Raft implementation using openraft
- Distributed RDF Storage: Scalable, consistent RDF triple storage
- Automatic Failover: Leader election and automatic recovery
- Node Discovery: Multiple discovery mechanisms (static, DNS, multicast)
- Replication Management: Configurable replication strategies
- SPARQL Support: Distributed SPARQL query execution
- Transaction Support: Distributed ACID transactions
§Example
ⓘ
use oxirs_cluster::{ClusterNode, NodeConfig};
use std::net::SocketAddr;
async fn example() -> Result<(), Box<dyn std::error::Error>> {
let config = NodeConfig {
node_id: 1,
address: "127.0.0.1:8080".parse()?,
data_dir: "./data".to_string(),
peers: vec![2, 3],
};
let mut node = ClusterNode::new(config).await?;
node.start().await?;
// Insert data through consensus
node.insert_triple(
"<http://example.org/subject>",
"<http://example.org/predicate>",
"\"object\"")
.await?;
Ok(())
}Re-exports§
pub use error::ClusterError;pub use error::Result;pub use failover::FailoverConfig;pub use failover::FailoverManager;pub use failover::FailoverStrategy;pub use failover::RecoveryAction;pub use health_monitor::HealthMonitor;pub use health_monitor::HealthMonitorConfig;pub use health_monitor::NodeHealth;pub use health_monitor::SystemMetrics;pub use consensus::ConsensusError;pub use discovery::DiscoveryError;pub use replication::ReplicationError;
Modules§
- adaptive_
consistent_ hash - Adaptive Consistent Hashing
- adaptive_
leader_ election - Adaptive Leader Election Tuning
- advanced_
partitioning - Advanced Partitioning Strategies
- advanced_
storage - Advanced Storage Backend
- alerting
- Alerting System Framework
- anti_
entropy - Anti-entropy protocol for distributed consistency (v1.9.0). Anti-entropy protocol for distributed consistency.
- auto_
scaling - Automated Horizontal Scaling
- backup_
restore - Backup and Restore
- circuit_
breaker - Circuit Breaker Pattern
- cloud_
integration - Auto-generated module structure
- cluster_
metrics - Cluster Metrics System
- compression_
strategy - Compression strategy for cluster data with auto-selection
- conflict_
resolution - Advanced Conflict Resolution for Distributed Operations
- consensus
- Consensus Protocol
- consistent_
shard_ router - Consistent-hash shard router for distributed RDF storage
- crash_
recovery - Comprehensive Crash Recovery
- cross_
dc - Cross-datacenter replication
- cross_
dc_ consistency - Cross-DC Consistency Enforcer
- data_
migrator - Data migration between cluster nodes: plan creation, range-based transfer, checksum-validated chunks, migration lifecycle and statistics (v1.1.0 round 14) Data migration between cluster nodes (v1.1.0 round 14).
- data_
rebalancing - Automatic Data Rebalancing
- disaster_
recovery - Disaster Recovery System
- discovery
- Node Discovery
- distributed_
query - Distributed Query Processing Module
- distributed_
tracing - Distributed Tracing with OpenTelemetry Integration
- distributed_
tx_ coordinator - Distributed Transaction Coordinator (2PC)
- edge_
computing - Edge Computing Integration for Distributed RDF Storage
- election_
timer - Raft-style election timer: randomised timeout, TimerState (Idle/Running/Expired), reset/check/stop lifecycle, LCG seed for deterministic tests (v1.1.0 round 16) Raft-style election timer management (v1.1.0 round 16).
- encryption
- Encryption for cluster data with key rotation
- enhanced_
node_ discovery - Enhanced Node Discovery
- enhanced_
snapshotting - Enhanced Snapshotting Module
- error
- Error types for the OxiRS cluster module
- failover
- Automated Failover System
- failover_
manager - Automatic failover handling for distributed clusters.
- federation
- Advanced Federation Features
- gossip_
scaling - Large-scale cluster gossip scaling for 1000+ node deployments.
- gpu_
acceleration - GPU-Accelerated Cluster Operations
- health_
monitor - Health Monitoring and Failure Detection
- health_
monitoring - Enhanced Cluster Health Monitoring
- leader_
election - Bully algorithm leader election simulation.
- membership_
gossip - Gossip Protocol for Cluster Membership Management.
- memory_
optimization - Memory optimization module for distributed RDF storage
- merkle_
tree - Merkle Tree Data Integrity Verification
- ml_
optimization - ML-Based Cluster Optimization
- multi_
tenant - Multi-tenant isolation and resource management for cluster storage
- mvcc
- Multi-Version Concurrency Control (MVCC) implementation for OxiRS cluster
- mvcc_
storage - Version-aware storage backend for MVCC
- network
- Network Communication Layer
- network_
compression - Advanced compression for cross-node and cross-region network transfers
- neural_
architecture_ search - Neural Architecture Search for Cluster Parameter Tuning
- node_
lifecycle - Node Lifecycle Management
- node_
monitor - Cluster node health monitoring with heartbeat tracking.
- node_
status_ tracker - Node Status Tracking with State Machine
- operational_
transformation - Enhanced Conflict Resolution with Operational Transformation
- optimization
- Storage and Serialization Optimization Module
- partition_
detection - Network Partition Detection and Auto-Healing
- partition_
rebalancer - performance_
metrics - Comprehensive Performance Metrics
- performance_
monitor - Performance Monitoring and Validation for OxiRS Cluster
- raft
- Raft Consensus Implementation
- raft_
optimization - Raft Consensus Optimization
- raft_
profiling - Raft Consensus Profiling Integration
- raft_
state - Raft State Machine Implementation
- range_
partitioning - Range-Based Partitioning Module
- read_
replica - Read Replica Support
- region_
manager - Auto-generated module structure
- replication
- Data Replication
- replication_
lag_ monitor - Replication Lag Monitoring and Alerting
- replication_
throttle - Replication bandwidth throttling: token-bucket per-peer rate limiting with adaptive adjustment (v2.0.0). Replication bandwidth throttling for OxiRS cluster.
- rl_
consensus_ optimizer - Reinforcement Learning-based Consensus Optimizer
- rolling_
upgrade - Rolling Upgrade Support
- rolling_
upgrade_ orchestrator - Rolling Upgrade Orchestrator
- security
- Security and Authentication Module
- serialization
- Advanced Serialization Module
- shard
- Sharding with semantic-aware partitioning
- shard_
manager - Shard manager for coordinating distributed shards
- shard_
migration - Shard Migration Module
- shard_
router - Consistent-hash shard routing for distributed cluster nodes (v1.1.0 round 15) Consistent-hash shard routing for distributed cluster nodes.
- shard_
routing - Shard routing for distributed query execution
- sla_
manager - SLA-based resource management for OxiRS cluster.
- snapshot_
manager - Raft snapshot management with retention policy and FNV-1a checksum validation.
- split_
brain_ detector - Split-brain detection for distributed clusters.
- split_
brain_ prevention - Split-Brain Prevention
- storage
- Distributed storage implementation for Raft consensus
- stream_
integration - Real-time streaming integration for OxiRS cluster.
- strong_
consistency - Strong Consistency Guarantees
- tls
- TLS Communication and Encryption Module
- topology
- Cluster topology management
- transaction
- Cross-shard transaction support with Two-Phase Commit (2PC) optimization
- transaction_
optimizer - Optimizations for Two-Phase Commit protocol
- visualization_
dashboard - Visualization Dashboard
- vnodes_
hash_ ring - Consistent Hashing with Virtual Nodes
- zero_
downtime_ migration - Zero-Downtime Migrations
Structs§
- Cluster
Node - Cluster node implementation
- Cluster
Status - Comprehensive cluster status information
- Distributed
Store - Distributed RDF store (simplified interface)
- Edge
Computing Config - Edge computing configuration
- Multi
Region Config - Multi-region deployment configuration
- Node
Config - Cluster node configuration
- Region
Status - Multi-region status information