传统哈希算法存在的问题
    节点上线、下线、新增节点需要rehash迁移数据
    h = hash(key)%n

    一致性哈希算法
    image.png
    h = c-hash(key) % 2^32

    1. 容错性

    某个节点宕机时,之影响此节点和前一节点之间的数据

    1. 扩展性

    新增节点时,只影响新节点位置和前一节点之间的数据

    1. 虚拟节点使数据分布更均匀

    如果节点数量不多,可能会造成数据倾斜向少数节点。
    可以为每一个机器节点创建虚拟节点,将虚拟节点请求再映射到实际节点上