一致性hash算法

    一致性hash算法的使用场景,缺点,解决方案

使用场景

    解决负载均衡

  • 分配请求

  • 分配服务

解决负载均衡的方法

  • 轮流:一个一个来,轮流需要每个服务或数据都是一致的

  • 加权轮流

  • hash算法,不同的请求按照hash永远落在对应的位置,但hash算法系统扩容缩容,所有的数据都要重新分配

  • 一致性hash算法

一致性hash算法

  • 所有的请求按照 $2^{32}$ 取模

  • 存储节点对 $2^{32}$ 取模

  • 根据请求的模,在hash环上顺时针找到第一个节点,这样如果扩容或缩容影响的数据量就很少了

  • 一致性hash算法解决负载均衡采用虚拟节点,即一个节点映射为多个hash环上的节点