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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM