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.