11.集群

1.数据分布

1.1数据分布理论

  • 节点取余

11.集群

  • 一致性哈希

11.集群

11.集群

  • 虚拟槽

11.集群

11.集群

1.2集群功能限制

11.集群

11.集群


2.搭建集群
11.集群

  • 节点握手

11.集群

11.集群

11.集群

  • 分配槽

11.集群

  • 从节点

11.集群

  • 11.集群

11.集群

注:笔者用的redis5.0已自带redis-trib.rb,较低版本可能需要自己安装。

集群完整性检查:

11.集群

 

3.节点通信

11.集群

 

4.集群伸缩

4.1.扩容

  • 加入集群

11.集群

  • 分配槽

11.集群

  • 检查槽之间的均衡性

11.集群

  • 添加从节点

11.集群

4.2收缩

  • 迁移槽

11.集群

11.集群

  • 忘记节点

11.集群

 

5.请求路由

5.1请求重定向

  • 11.集群
  • 11.集群
  • 11.集群

5.2Smart客户端

11.集群

11.集群

5.3ASK重定向

11.集群

 

6.故障转移

6.1故障发现

客观下线

11.集群

6.2故障恢复

11.集群

11.集群

11.集群

注:

11.集群

 

7.集群运维

7.1集群完整性

11.集群

 

7.2带宽消耗

11.集群

11.集群

11.集群

11.集群

7.3集群倾斜

  • 数据倾斜

11.集群

11.集群

11.集群

11.集群

使用太多tag

11.集群

  • 请求倾斜

11.集群

7.4集群读写分离

11.集群

7.5手动故障转移

11.集群

11.集群

使用场景:

11.集群

11.集群

11.集群

11.集群

11.集群

 

7.6数据迁移

11.集群

11.集群