awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
buraksezer avatar

buraksezer/consistent

0
View on GitHub↗
774 Stars·77 Forks·Go·MIT·3 Aufruferesearch.googleblog.com/2017/04/consistent-hashing-with-bounded-loads.html↗

Consistent

Consistent is a Go library that implements consistent hashing with bounded loads to distribute data keys across nodes in a distributed system. It provides a mechanism for mapping keys to cluster members that minimizes data movement during membership changes while preventing performance hotspots.

The library distinguishes itself by enforcing strict capacity limits on individual nodes, ensuring that no single member becomes overwhelmed by excessive key assignments. It supports virtual node mapping to distribute physical capacity across the hash ring, allowing for granular control over load balancing and resource utilization.

The project covers a broad range of distributed system requirements, including the ability to inject custom hashing algorithms to optimize data locality. It also facilitates high availability by identifying multiple candidate nodes for each key, enabling reliable data replication and redundancy across the cluster.

Features

  • Consistent Hashing - Provides a Go implementation of consistent hashing with bounded loads for distributed systems.
  • Load Balancing Algorithms - Restrict the number of partitions assigned to each node to prevent individual members from becoming overloaded during high traffic periods or intensive cluster maintenance operations.
  • Consistent Hashing Implementations - Distributes physical node capacity across multiple points on the hash ring to improve load balancing and granular control.
  • Data Partitioning Strategies - Maps keys to cluster members to minimize data movement and prevent performance hotspots.
  • Replica Candidate Locators - Locate multiple candidate nodes for every data key to facilitate reliable data replication and ensure high availability if a primary node becomes unavailable or goes offline.
  • Load Balancing Strategies - Implements load balancing strategies that cap key assignments to prevent node overloading.
  • Bounded Load Policies - Provides mechanisms to enforce strict capacity limits on individual nodes to prevent performance hotspots.
  • Algorithmic Load Limiters - Restricts the total number of keys assigned to any single node to prevent performance bottlenecks.
  • Distributed Systems - Consistent hashing implementation with bounded loads.
  • Distributed Systems - Consistent hashing algorithm library.
  • High Availability Configurations - Facilitates high availability by identifying multiple candidate nodes for data storage.
  • Distributed Key-Value Stores - Assign data keys to specific nodes using consistent hashing to ensure balanced storage distribution and minimize data movement when the total number of cluster nodes changes.
  • Custom Hashing Implementations - Allows injection of custom hashing algorithms to optimize data locality and key distribution.
  • Relocation Metrics - Measure the percentage of data keys that move between nodes during cluster membership changes to maintain balance and reduce unnecessary data transfer across the network infrastructure.
  • Distributed Systems & Scalability - Manages cluster membership and resource allocation to maintain performance during scaling.

Star-Verlauf

Star-Verlauf für buraksezer/consistentStar-Verlauf für buraksezer/consistent

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Häufig gestellte Fragen

Was macht buraksezer/consistent?

Consistent is a Go library that implements consistent hashing with bounded loads to distribute data keys across nodes in a distributed system. It provides a mechanism for mapping keys to cluster members that minimizes data movement during membership changes while preventing performance hotspots.

Was sind die Hauptfunktionen von buraksezer/consistent?

Die Hauptfunktionen von buraksezer/consistent sind: Consistent Hashing, Load Balancing Algorithms, Consistent Hashing Implementations, Data Partitioning Strategies, Replica Candidate Locators, Load Balancing Strategies, Bounded Load Policies, Algorithmic Load Limiters.

Welche Open-Source-Alternativen gibt es zu buraksezer/consistent?

Open-Source-Alternativen zu buraksezer/consistent sind unter anderem: victoriametrics/victoriametrics — VictoriaMetrics is a high-performance, scalable time series database and observability platform designed for long-term… hazelcast/hazelcast — Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to… coreos/etcd — etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a… geektutu/7days-golang — This project is an educational framework designed to teach the fundamentals of building core distributed systems and… apachecn/interview — This project is a comprehensive knowledge base and study resource designed for mastering technical interviews. It… nats-io/nats-server — NATS Server is a high-performance, lightweight messaging system designed for cloud-native applications, edge…

Open-Source-Alternativen zu Consistent

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Consistent.
  • victoriametrics/victoriametricsAvatar von VictoriaMetrics

    VictoriaMetrics/VictoriaMetrics

    16,343Auf GitHub ansehen↗

    VictoriaMetrics is a high-performance, scalable time series database and observability platform designed for long-term storage and analysis of metric, log, and trace data. It functions as a unified backend for monitoring ecosystems, offering full compatibility with industry-standard protocols and query languages. The system is built to handle massive data volumes through a distributed architecture that supports horizontal scaling and efficient data lifecycle management. The platform distinguishes itself through a storage engine that utilizes consistent hashing for data sharding and log-struct

    Godatabasegrafanagraphite
    Auf GitHub ansehen↗16,343
  • hazelcast/hazelcastAvatar von hazelcast

    hazelcast/hazelcast

    6,570Auf GitHub ansehen↗

    Hazelcast is a distributed data platform that combines an in-memory data grid with a stream processing engine to support real-time analytics and event-driven applications. It functions as a partitioned, distributed key-value store that replicates data across cluster nodes to provide low-latency access and high availability. The platform also serves as a distributed SQL query engine, allowing users to execute standard SQL statements against both in-memory datasets and external data sources. What distinguishes Hazelcast is its use of a distributed consensus subsystem to maintain strongly consis

    Javabig-datacachingdata-in-motion
    Auf GitHub ansehen↗6,570
  • coreos/etcdAvatar von coreos

    coreos/etcd

    51,846Auf GitHub ansehen↗

    etcd is a distributed key-value store and configuration store designed to maintain a consistent set of data across a cluster of nodes. It functions as a reliable registry for storing and synchronizing critical settings and metadata used by distributed applications. The system implements the Raft consensus algorithm to ensure data consistency and leader election across servers. To protect data transfers and verify node identities, it utilizes a network security layer based on mutual TLS and client certificates. Its capabilities cover distributed configuration management, cluster state synchro

    Go
    Auf GitHub ansehen↗51,846
  • geektutu/7days-golangAvatar von geektutu

    geektutu/7days-golang

    16,812Auf GitHub ansehen↗

    This project is an educational framework designed to teach the fundamentals of building core distributed systems and web services from scratch in Go. It provides a collection of modular implementations that demonstrate how to construct essential infrastructure components, including web servers, remote procedure call systems, distributed caches, and database abstraction layers. The framework distinguishes itself by focusing on the internal mechanics of these systems rather than providing a high-level abstraction for production use. It covers the implementation of complex architectural patterns

    Gogolanglearningscratch
    Auf GitHub ansehen↗16,812
  • Alle 30 Alternativen zu Consistent anzeigen→