Crate oxirs_cluster

Crate oxirs_cluster 

Source
Expand description

§OxiRS Cluster

Version docs.rs

Status: Alpha Release (v0.1.0-alpha.2) ⚠️ APIs may change. Not recommended for production use.

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;

let config = NodeConfig {
    node_id: 1,
    address: "127.0.0.1:8080".parse()?,
    data_dir: "./data".to_string(),
    peers: vec![2, 3],
    discovery: None,
    replication_strategy: None,
};

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?;

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§

advanced_storage
Advanced Storage Backend
conflict_resolution
Advanced Conflict Resolution for Distributed Operations
consensus
Consensus Protocol
discovery
Node Discovery
distributed_query
Distributed Query Processing Module
edge_computing
Edge Computing Integration for Distributed RDF Storage
enhanced_snapshotting
Enhanced Snapshotting Module
error
Error types for the OxiRS cluster module
failover
Automated Failover System
federation
Advanced Federation Features
health_monitor
Health Monitoring and Failure Detection
mvcc
Multi-Version Concurrency Control (MVCC) implementation for OxiRS cluster
mvcc_storage
Version-aware storage backend for MVCC
network
Network Communication Layer
node_lifecycle
Node Lifecycle Management
optimization
Storage and Serialization Optimization Module
performance_monitor
Performance Monitoring and Validation for OxiRS Cluster
raft
Raft Consensus Implementation
raft_state
Raft State Machine Implementation
range_partitioning
Range-Based Partitioning Module
region_manager
Multi-Region Deployment Manager
replication
Data Replication
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_routing
Shard routing for distributed query execution
storage
Distributed storage implementation for Raft consensus
tls
TLS Communication and Encryption Module
transaction
Cross-shard transaction support with Two-Phase Commit (2PC) optimization
transaction_optimizer
Optimizations for Two-Phase Commit protocol

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