一致性哈希

一致性哈希主要解决的问题是,数据分片之后,简单取模方式在增删节点时会造成所有节点不可用。经过一致性哈希,可以将故障限制在局部范围内。比如redis集群就是一个使用一致性哈希的场景(虽然redis用的不是一致性哈希)。

题外话:

可以认为vitess的分片方式也是一致性哈希。vitess也是将键空间映射到2^32 的范围,将键空间分割,根据分片键的值决定将数据存放到对应分片中。
和一致性哈希不同的是,vitess每个分片可以是均匀的,新加节点可以把现有的单个分片拆得更细,而不会影响到其他分片

参考资料

一致性hash算法释义
https://www.cnblogs.com/haippy/archive/2011/12/10/2282943.html