一文了解 Consistent Hash
本文首发于 vivo互联网技术 微信公众号 链接: https://mp.weixin.qq.com/s/LGLqEOlGExKob8xEXXWckQ 作者:钱幸川 在分布式环境下面,我们经常会通过一定的规则来进行数据分布的定义,本文描述的取模算法和一致性 Hash(Consistent Hash)是通过一定规则产生一个key,对这个key进行一定规则的运算,得出这个数据该去哪儿。 本文使用软件环境:Java 8 一、数据分布接口定义 概述 在分布式环境下面,我们经常会通过一定的规则来进行数据分布的定义,比如用户1的数据存储到数据库1、用户2的数据存储到数据库2...... 一般来说,有这么几种常用的方式: 有一个分布式环境中唯一的中心分发节点,每次在数据存储的时候,都会询问中心节点这个数据该去哪儿,这个分发节点明确告诉这个数据该去哪儿。 通过一定规则产生一个key,对这个key进行一定规则的运算,得出这个数据该去哪儿。本文描述的取模算法和一致性Hash,就是这样一种方式。 接口定义 /** * 数据分布hash算法接口定义 * @author xingchuan.qxc * */ public interface HashNodeService { /** * 集群增加一个数据存储节点 * @param node */ public void addNode(Node node)