Redis —— 集群原理

Redis —— 集群原理

为了存储海量数据,将海量数据以某种规则划分数据,分散存储在多个节点上(即是分片),采用一致性哈希算法分片。

Redis —— 集群原理

一致性哈希算法

  • 对2的32次方取模,将哈希值空间组织成虚拟的圆环
  • 这种一个顺时针Hash虚拟圆环,当一台服务器不可用时,则只会影响到当前节点逆时针相邻的第一台服务器之间的数据,并且在者之间的数据,会被存储到不可用服务器顺时针相邻的第一次台服务器上,因此,做到了最小化损失数据的操作

一致性哈希运算的缺点

  • Hash环数据倾斜
    一致性Hash算法在服务器节点很少的情况下,会发生数据倾斜(被缓存的对象,大部分会缓存在同一台服务器上)
  • 如何解决Hash环数据倾斜?
    引入虚拟节点机制(即对每一个服务器节点计算多个Hash,每个计算结果节点,都放置一个子服务器节点,这个节点被称为虚拟节点)