Redis - 为何redis集群用哈希槽,而不用一致性哈希?

总结

1:Hash slot(slot 空间)对比一致性哈希(环空间) 可以做到数据分配更均匀 

  • 有 N 个节点,每个节点是准确的承担 1/N 的容量
  • 一致性哈希,它使用的是hash函数返回的值是随机的。

2:Hash slot 更便捷的新增/删除节点

  • 假设已有R1、R2、R3 节点
  • 若新增 R4 节点,只需要从 R1、R2、R3 挪一部分 slot 到 R4 上
  • 若删除 R1  节点,只需将 R1 中 slot 移到 R2 和 R3 节点上, 节点之间的槽移动不会停止服务,集群是一直可用状态。

3:当一致性哈希增删节点时,会导致部分数据无法命中,严重的甚至会导致缓存雪崩

 

参考文献

https://www.zhipin.com/wenti/w_8b681bc5db9c64detnVy2t25EFE~.html

上一篇:数据库规范化理论


下一篇:面向对象程序设计实例_有理数类的运算