其实,这次主要不是我聊。而是推荐一篇知乎专栏的文章:聊聊一致性哈希

我这里就简单讲下一致性哈希应该明白的几个重点:

使用一致性哈希可以避免重新计算分布(分布式多节点场景下,重新分布代价可是很大的);

使用一致性哈希可以让分布式系统无锁化、无状态化(通过引入虚拟桶来避免哈希碰撞;HASH到哪里都确定了,一人一个坑)

跳表(logN)来改进HASH到桶的时间复杂度。(PS: 普通的HASH算法,都是常量时间)

环状来保证顺利找到要HASH的桶

防止雪崩效应。采用一致性哈希,如果一个节点由于压力太大挂了,不会发生大量数据HASH到下一个节点上,引起压力。如果按照原来的哈希方式......