Redis学习笔记(五)多机数据库

92 阅读1分钟

复制

image.png

旧版同步中的重发RDB文件这一步不是非做不可,新版就利用这个改了

image.png

复制的实现有7个步骤

image.png

哨兵

image.png

image.png

启动并初始化Sentinel

初始化服务器、使用Sentinel专用代码、初始化sentinel状态、初始化sentinel状态的masters属性、创建连向主服务器的网络连接

image.png

获取主服务器信息

获取从服务器信息

向主服务器和从服务器发送信息

接收来自主服务器和从服务器的频道信息

更新sentinels字典,创建连向其他sentinel的命令连接

image.png

检测主观下线状态

image.png

检测客观下线状态

image.png

选举领头sentinel

当一个主服务器被判断为客观下线时,监视它的各个sentinel会进行协商,选举出一个领头sentinel,由领头sentinel对下线服务器执行故障转移操作。

image.png

image.png

故障转移

image.png

选择一个从服务器做主服务器,再修改从服务器的复制目标

集群

集群是Redis提供的分布式数据库方案(搞清楚每个知识点是干什么的),集群通过分片sharding来进行数据共享,并提供复制和故障转移功能。

节点

image.png

启动节点,集群数据结构clusterNode,cluser meet命令的实现

槽指派

image.png

记录节点的槽指派信息,传播节点的槽指派信息,记录集群所有槽的指派信息

在集群中执行命令

image.png

image.png

image.png

image.png

重新分片

image.png

image.png

ASK错误

复制与故障转移

image.png

image.png

image.png

image.png

image.png

消息

image.png

redisdoc.com/topic/clust…