一致性hash


一致性hash

看这个consistent hashing

概念:

BMSL:平衡单调分散负荷

意义:热点(Hot spot)问题

我的概念:

- 平衡性:数据必须均匀才能使用

- 单调就是:hash后,不能变位置,或落在新位置,不能用已经落的位置。

- 分散:当机器存放的hash区间特别大的时候,有的机器特别小,要避免热点。

- 负荷同分散。

zhaohm:

  • HASH链
  • 建hash表
  • 避免冲突链个数放1或控制查找长度
  • 复杂度o1
  • 成倍扩容数据,分发冲突链,造成全部数据移动
  • 传统HASH

  • HASH环链
  • 定义机器链表HASH值
  • 将区间放入机器
  • 移动机器不会造成全部数据移动
  • 一致性HASH
  • 缺少分散性,添加虚拟节点
  • 机器HASH不算范围算虚拟后缀

    引入“虚拟节点”后,计算“虚拟节”点NODE1-1和NODE1-2的hash值:

    Hash(“192.168.1.100#1”); // NODE1-1

    Hash(“192.168.1.100#2”); // NODE1-2

大山 /
Published under (CC) BY-NC-SA in categories 逻辑与现象  cap  tagged with 算法  CAP