Skip to main content

Crate oxirs_cluster

Crate oxirs_cluster 

Source
Expand description

§OxiRS Cluster

Version docs.rs

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§

ClusterNode
Cluster node implementation
ClusterStatus
Comprehensive cluster status information
DistributedStore
Distributed RDF store (simplified interface)
EdgeComputingConfig
Edge computing configuration
MultiRegionConfig
Multi-region deployment configuration
NodeConfig
Cluster node configuration
RegionStatus
Multi-region status information