consistent_hasher

Crates.ioconsistent_hasher
lib.rsconsistent_hasher
version0.1.2
sourcesrc
created_at2024-11-21 09:13:16.506164
updated_at2024-12-03 09:53:25.649592
descriptionAn implementation of consistent hashing, a technique commonly used in distributed systems to map keys (such as data items or requests) to nodes (e.g., servers or storage units) in a way that minimizes disruptions when nodes are added or removed.
homepage
repositoryhttps://github.com/whitestork-dev/consistent-hashing
max_upload_size
id1455940
size49,773
(Leeevai)

documentation

README

LDB: Consistent Hashing Library

LDB is a Rust library that implements a consistent hashing system with support for virtual nodes, dynamic node and key management, and transaction tracking. It is ideal for distributed systems, load balancers, or caching mechanisms that require efficient and scalable key-to-node mapping.

Features

  • Dynamic Node Management: Add and remove nodes dynamically with minimal disruption.
  • Key Redistribution: Redistribute keys across nodes when the topology changes.
  • Transaction Tracking: Track redistribution transactions for audit and debugging purposes.
  • Virtual Nodes: Use virtual instances to improve load balancing.
  • Custom Hashers: Configure custom hashers using the set_hasher method.

Getting Started

Prerequisites

To use this library, you will need:

  • Rust (latest stable version recommended)
  • Basic knowledge of Rust traits and structures

Installation

Add the following to your Cargo.toml file:

[dependencies]
ldb = "0.1.0"
Commit count: 0

cargo fmt