跳到主要内容
uencoder

Consistent Hashing

一致性哈希在节点增减时仅迁移 1/n 的键,最小化重新映射,用于分布式缓存与分片。

用途

使节点增删时数据迁移最小化,是分布式存储与缓存的核心技术。

机制

将节点与键都映射到 0-2^32 哈希环上,键顺时针找到第一个节点。节点增删仅影响相邻区间的键。虚拟节点(每节点多哈希点)改善均衡。负载约均匀分布。

用例

  • 分布式缓存(Memcached)
  • CDN 节点分片
  • 数据库分片(Cassandra)
  • 负载均衡

示例

  • 输入
    Node C joins
    输出
    Only keys in C's adjacent arc migrate

    Minimal migration

常见错误

Too few virtual nodes causes uneven load
Use 150+ virtual nodes per node

相关词条

参考链接