Redis知识梳理之多机数据库篇--集群

  1. 集群是Redis提供的分布式数据库方案。
  2. 集群通过分片来进行数据共享,并提供复制和故障转移功能

1. 节点

一个节点可以视作一个端口号,多个节点组成集群

2. 槽指派

  1. 集群通过分片方式来保存数据库中的键值对:集群的整个数据库被分为16384(2^14)个槽,每个键都属于其中的一个。
  2. 当所有槽都有节点在处理时,集群才处于上线状态

3. 集群中执行命令

  1. 计算键属于哪个槽(&16383)
  2. 判断是否由当前节点处理

4. 重新分片

  1. 将任意已指派给某个节点的槽改派给另一个节点
  2. 可在线进行,集群不需要下线

5. 复制与故障转移

  1. 集群中的节点分为主节点和从节点
  2. 主节点用于处理槽,从节点用于复制某个主节点
  3. 主节点下线时,从节点替代

5.1故障检测

每个节点定期向其他节点发送PING消息,检测对方是否在线。

5.2 故障转移

  1. 已下线主节点的从节点里选一个节点作为新主节点
  2. 新主节点撤销旧主节点的所有槽指派,并将其都派给自己
  3. 广播PONG消息,通知其他主节点

5.3 新主节点选举

与选举领头Sentinel类似,都是基于Raft算法实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值