一致性哈希的分布式系统优化利器,嗯,蛮实用的一个思路。分布式服务挂了一个节点,其他节点压力爆了?你应该知道一致性哈希这个方案了。用它来搞数据分布,节点变动时数据迁移量少得多,响应也稳定多了。
日常开发里的缓存穿透
、负载均衡
、分布式缓存
这些场景,一致性哈希都能派上用场。你要搞 Redis、搞分布式存储,早点摸清楚这个算法,绝对不亏。
虚拟节点这个概念,挺关键的。简单说就是多加几个“假节点”,让数据分布更平均,避免热点集中在一两个节点上。不然你会看到某个服务天天 100% CPU。
实现也不复杂,算法逻辑清晰,自己撸个 demo 感受一下:比如用 md5
算法给节点哈希排序,落点一目了然。
下面这几个链接还不错,想深入了解可以点进去看看:
如果你正在搭一个高可用系统,或者在做节点动态扩缩容的功能,这一招真心可以加到工具箱里。