Expand description
§OxiRS Cluster
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§
- 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