java基础---一致性hash算法

是一种分布式系统中的数据分布方式。
将数据散落到一个闭环上,然后将服务器节点均匀放置到这个闭环上,那么每个服务器节点就能够处理它所在范围内的数据点。
 
考虑数据分布方式的好坏主要考虑三个点:
1. 扩容是否方便
2. 是否存在哈希倾斜
3. 元数据管理起来是否容易。
 
扩容方面:
一致性hash算法在扩容性上有很好的性能,新增一台服务器的时候不需要重新计算数据点的hash值,新的服务器只要管理它范围内的节点就行了。
 
哈希倾斜方面:
通过使用虚节点,也就是虚拟的服务器节点,将数据分部切分的更加均匀,这样尽量减少hash倾斜的可能。
 
 
 
posted @ 2018-08-03 10:44  buptyuhanwen  阅读(133)  评论(0编辑  收藏  举报