键值存储(Key-Value Store)的扩容核心目标是:在节点增加或减少时,尽量均匀分布数据、减少数据迁移、保证可用性和性能。下面从原理到常见实现方式系统讲一下。
node = hash(key) % N
✅ 仅适合小规模、可停服场景
1 / N✅ 典型系统:
shard = hash(key) % S
node = route[shard]
✅ 优点:
✅ 使用系统:
[a-m] → node1, [n-z] → node2✅ 适合:
✅ 使用:
现代 KV 存储通常结合:
流程示例:
| 系统 | 扩容方式 |
|---|---|
| Redis Cluster | 哈希槽(16384) |
| Cassandra | 一致性哈希 + vnode |
| TiKV | Range 自动 split |
| etcd | Raft + 成员变更 |
| DynamoDB | 内部自动分片 |
键值存储扩容 = 合理的 key 分布策略 + 可控的数据迁移机制 + 高可用切换
如果你愿意,我可以:
你更关心哪一块?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。