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

posted on 2021-09-30 01:04  frank_cui  阅读(2767)  评论(0编辑  收藏  举报

导航

levels of contents