Với hash(key) % N (N = số node), khi thêm/bớt một node thì gần như toàn bộ key phải remap → cache/shard bị xáo trộn lớn.
Consistent hashing đặt cả node và key lên một vòng tròn hash; mỗi key thuộc về node đầu tiên gặp khi đi theo chiều kim đồng hồ. Khi thêm/bớt một node, chỉ các key lân cận phải di chuyển (≈ K/N), phần còn lại giữ nguyên.
- Virtual nodes (vnode): mỗi node vật lý ánh xạ tới nhiều điểm trên vòng → phân bố đều hơn, tránh hotspot.
Ứng dụng: phân phối key cho cache (Memcached/Redis cluster), sharding DB (Cassandra/DynamoDB), và định tuyến ở load balancer.