知识卡片

一致哈希迁移

普通读书笔记卡 · 1768.b

内容

一致性哈希把节点和数据放在同一哈希环上,节点增删只影响相邻区间的数据迁移。它解决取模哈希扩容时全量重排的问题,但仍需虚拟节点或负载策略缓解分布不均。

参考来源

- 位置:《大数据日知录:架构与算法》第1章《数据分片与路由》"1.2.3 一致性哈希(Consistent Hashing)"一节(源文件:_epub-src/OEBPS/text00006.html) - 结论依据:原文说明一致性哈希把哈希数值空间组成"首尾相接的环状序列",机器和数据都映射到环上;并指出其潜在问题是"机器节点映射到环状结构的位置是随机的,所以可能会导致机器负载不均衡",Dynamo通过引入"虚拟节点"缓解负载不均和机器异质性问题。 - 原始内容:"一致性哈希"算法将哈希数值空间按照大小组成一个首尾相接的环状序列。对于每台机器,可以根据其IP和端口号经过哈希函数映射到哈希数值空间内……机器节点映射到环状结构的位置是随机的,所以可能会导致机器负载不均衡……Dynamo对一致性哈希进行了改造,引入"虚拟节点"的概念……这样一方面可以导致更佳的负载均衡,也可以兼顾到机器异质性问题。