rustfs-lock

Crates.iorustfs-lock
lib.rsrustfs-lock
version0.0.3
created_at2025-07-05 00:26:15.352405+00
updated_at2025-07-05 00:26:15.352405+00
descriptionDistributed locking mechanism for RustFS, providing synchronization and coordination across distributed systems.
homepagehttps://rustfs.com
repositoryhttps://github.com/rustfs/rustfs
max_upload_size
id1738658
size127,456
houseme (houseme)

documentation

https://docs.rs/rustfs-lock/latest/rustfs_lock/

README

RustFS

RustFS Lock - Distributed Locking

Distributed locking and synchronization for RustFS object storage

CI ๐Ÿ“– Documentation ยท ๐Ÿ› Bug Reports ยท ๐Ÿ’ฌ Discussions


๐Ÿ“– Overview

RustFS Lock provides distributed locking and synchronization primitives for the RustFS distributed object storage system. It ensures data consistency and prevents race conditions in multi-node environments through various locking mechanisms and coordination protocols.

Note: This is a core submodule of RustFS that provides essential distributed locking capabilities for the distributed object storage system. For the complete RustFS experience, please visit the main RustFS repository.

โœจ Features

๐Ÿ”’ Distributed Locking

  • Exclusive Locks: Mutual exclusion across cluster nodes
  • Shared Locks: Reader-writer lock semantics
  • Timeout Support: Configurable lock timeouts and expiration
  • Deadlock Prevention: Automatic deadlock detection and resolution

๐Ÿ”„ Synchronization Primitives

  • Distributed Mutex: Cross-node mutual exclusion
  • Distributed Semaphore: Resource counting across nodes
  • Distributed Barrier: Coordination point for multiple nodes
  • Distributed Condition Variables: Wait/notify across nodes

๐Ÿ›ก๏ธ Consistency Guarantees

  • Linearizable Operations: Strong consistency guarantees
  • Fault Tolerance: Automatic recovery from node failures
  • Network Partition Handling: CAP theorem aware implementations
  • Consensus Integration: Raft-based consensus for critical locks

๐Ÿš€ Performance Features

  • Lock Coalescing: Efficient batching of lock operations
  • Adaptive Timeouts: Dynamic timeout adjustment
  • Lock Hierarchy: Hierarchical locking for better scalability
  • Optimistic Locking: Reduced contention through optimistic approaches

๐Ÿ“ฆ Installation

Add this to your Cargo.toml:

[dependencies]
rustfs-lock = "0.0.3"

๐Ÿ”ง Usage

๐Ÿ“‹ Requirements

  • Rust: 1.70.0 or later
  • Platforms: Linux, macOS, Windows
  • Network: Cluster connectivity required
  • Consensus: Raft consensus for critical operations

๐ŸŒ Related Projects

This module is part of the RustFS ecosystem:

๐Ÿ“š Documentation

For comprehensive documentation, visit:

๐Ÿ”— Links

๐Ÿค Contributing

We welcome contributions! Please see our Contributing Guide for details.

๐Ÿ“„ License

Licensed under the Apache License, Version 2.0. See LICENSE for details.


RustFS is a trademark of RustFS, Inc.
All other trademarks are the property of their respective owners.

Made with ๐Ÿ”’ by the RustFS Team

Commit count: 0

cargo fmt