DHT
DHT(distributed hash table)分布式哈希表,是一种分布式存储方法。一致性哈希算法是DHT的一种实现。
普通哈希
普通哈希算法是一个将范围很大的集合通过哈希函数映射到范围固定的集合上的一种方法。
问题
普通哈希算法有自己的局限性,比如在分布式缓存中,如果增减服务器,会造成大面积的缓存失效。具体例子: 假设我们现在有100台服务器,机器编号为0-99,之前关键字为101的请求会路由到101%100=1这台机器。现在我们需要增加一台机器,那么关键字为101的请求将会路由到101%101=0这台机器,最终导致缓存访问失效。
一致性哈希算法(consistent hashing)
一致性哈希有如下几个特性:
- 冗余少
- 负载均衡
- 过度平滑
- 存储均衡
- 关键词单调