redis中hash一致性

redis中hash一致性

思路

  • 需要的数据
    1. 节点的生成
      • 【IP+端口】的hash值
    2. key的生成
      • 【key】的hash值
    3. Hash环的生成
      • 1~232-1【1~43亿】
  • 存放原则
    • 节点======映射=======redis库
    • key的存放:顺时针找相邻的第一个节点

图解

  • redis中hash一致性
    • 归属
      • 节点I
        • key3
      • 节点II
        • key1
      • 节点III
        • key2
        • key4

解决数据的平衡性

  • 引入虚拟节点
  • 图解
    • redis中hash一致性
  • 归属
    • 节点I
      • 【key3】
      • 虚拟节点I_1
        • 【key2】
      • 虚拟节点I_2
        • 【key1】
    • 节点II
      • 虚拟节点II_1
      • 虚拟节点II_2
    • 节点III
      • 虚拟节点III_1
      • 虚拟节点III_2
        • 【key4】
  • 结论虚拟节点越多,平衡越好