awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
buraksezer avatar

buraksezer/consistent

0
View on GitHub↗
774 stars·77 forks·Go·MIT·5 vuesresearch.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.

Historique des stars

Graphique de l'historique des stars pour buraksezer/consistentGraphique de l'historique des stars pour buraksezer/consistent

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Consistent

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Consistent.
  • victoriametrics/victoriametricsAvatar de VictoriaMetrics

    VictoriaMetrics/VictoriaMetrics

    16,343Voir sur GitHub↗

    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
    Voir sur GitHub↗16,343
  • hazelcast/hazelcastAvatar de hazelcast

    hazelcast/hazelcast

    6,570Voir sur GitHub↗

    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
    Voir sur GitHub↗6,570
  • coreos/etcdAvatar de coreos

    coreos/etcd

    51,846Voir sur GitHub↗

    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
    Voir sur GitHub↗51,846
  • geektutu/7days-golangAvatar de geektutu

    geektutu/7days-golang

    16,812Voir sur GitHub↗

    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
    Voir sur GitHub↗16,812
Voir les 30 alternatives à Consistent→

Questions fréquentes

Que fait 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.

Quelles sont les fonctionnalités principales de buraksezer/consistent ?

Les fonctionnalités principales de buraksezer/consistent sont : Consistent Hashing, Load Balancing Algorithms, Consistent Hashing Implementations, Data Partitioning Strategies, Replica Candidate Locators, Load Balancing Strategies, Bounded Load Policies, Algorithmic Load Limiters.

Quelles sont les alternatives open-source à buraksezer/consistent ?

Les alternatives open-source à buraksezer/consistent incluent : 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…