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) 编辑 收藏 举报