Consistent Hashing
一致性哈希在节点增减时仅迁移 1/n 的键,最小化重新映射,用于分布式缓存与分片。
用途
使节点增删时数据迁移最小化,是分布式存储与缓存的核心技术。
机制
将节点与键都映射到 0-2^32 哈希环上,键顺时针找到第一个节点。节点增删仅影响相邻区间的键。虚拟节点(每节点多哈希点)改善均衡。负载约均匀分布。
用例
- 分布式缓存(Memcached)
- CDN 节点分片
- 数据库分片(Cassandra)
- 负载均衡
示例
- 输入
Node C joins输出Only keys in C's adjacent arc migrateMinimal migration
常见错误
- Too few virtual nodes causes uneven load
- Use 150+ virtual nodes per node