一致性哈希,最近在招聘Java开发人员,时常会问到他们关于数据库分库分表的一些问题,以及分布式系统(存储)的一些问题。 这些问题的背后都有一个非常重要的算法在使用就是一致性哈希。
通常哈希取模可以完成数据的分散,但是当节点发生变化后原有的哈希记录可能面临全部失效的结果。为了解决这个问题,1997年MIT提出了一致性哈希算法。
此工程简单模拟实现原理,仅作为学习,不建议用于商用
- 支持节点数量变更,避免全部哈希数据失效
- 会有少量数据需要重新迁移
- 节点形成环状,也称为哈希环
阅读的网络文章如下:
你可以使用的成熟包:
