- 用于分布式存储做负载均衡
- 哈希环,主机放置在环上,每个主机只负责顺时针过来的这一段区间的数据维护。
- 扩容和搜索的代价很小。
- 基础版一致性哈希可能存在负载不均衡问题,即一段时间内所有请求都由A负责,而B空闲。
- 引入虚拟节点,将主机复制多个副本,加入到哈希环中,当主机节点数量变大时,请求就会更均匀。
- 虚拟节点,增加了一层映射。
- 先是客户端请求到虚拟节点的映射。
- 再是虚拟节点到物理节点的映射。
- 第一步:取模。缺点:增减服务器不友好,扩容性较差。
- 第二步:引入哈希环。通常为2^n, 每台服务器负责顺时针映射过来的请求。缺点:可能出现哈希不均衡的现象。
- 第三步:引入虚拟节点。一个实体对应N个虚拟的节点,可以使哈希映射更均匀。