Skip to content
进阶

一句话答案

将节点映射到哈希环,key 顺时针找最近节点,增删节点只影响相邻数据,虚拟节点解决倾斜。

核心要点

优势(vs 取模): 增减节点只影响相邻区间,避免全量 rehash

虚拟节点: 物理节点映射多个虚拟节点到环上,解决数据倾斜

应用: Redis Cluster(哈希槽16384) / Memcached / 负载均衡

追问与易错

追问方向:

  • 虚拟节点数量设多少?
  • 和普通取模比优势?
  • Redis Cluster 为什么不用?

易错点:

  • ❌ 一致性哈希完全均匀——需虚拟节点
  • ❌ 混淆一致性哈希和哈希槽

💡 记忆锚点

普通取模像固定座位(hash%N),加一桌就全部重新排座(全量rehash)。一致性哈希像圆桌会议:节点和数据都坐在一个钟表盘(哈希环)上,数据顺时针找最近的节点坐下。加/减节点只影响相邻那段弧的数据。节点太少会"扎堆"(数据倾斜),解决方法是每个节点多放几个虚拟分身在环上。