redis主从复制与哨兵机制

本文介绍Redis主从复制的实现原理及配置步骤,包括全盘快照与AOF追加混合模式确保主从节点的一致性。探讨了一主一从、一主多从及树状一主多从等不同拓扑结构的特点,并详细解析了Redis哨兵机制如何通过选举算法实现故障转移以保障服务高可用。

Redis主从复制的原理

最终实现原理也为底层的全盘快照与AOF追加的混合模式保证主从节点的最终一致性

主从复制搭建步骤

1.主节点正常启动,无需额外配置
2.在从节点的配置文件redis.conf中加入slaveof 192.168.152.128 6379  //这里的IP与端口号为主节点的IP与端口
3.启动从节点slave
//其中第二步亦可以使用命令redis-server --slaveof 192.168.152.128 6379 临时生效

需要注意的点

  • 若主节点数据比较重要,在配置文件中加入密码验证方式,配置参数为requirepass 123456
  • 从节点建议使用只读模式,slave-read-only=yes, 若从节点修改数据,主从数据不一致

redis主从同步的拓扑结构有三种

第一种一主一从

Redis主节点A
Redis从节点B

优点:主节点用于存储数据与同步数据,从节点主要用于读取数据
缺点:主节点故障后只能人工切换主从

第二种一主多从

Redis主节点A
Redis从节点B
Redis从节点C
Redis从节点D

缺点:

  • 主节点写入压力大的时候容易出现问题
  • 主节点故障后只能手动修改主从

第三种树状一主多从

Redis主节点A
Redis从节点B
Redis从节点C
Redis从节点D
Redis从节点E
Redis从节点F

优点:解决主节点写入压力大时候,数据同步操作的耗时
缺点:主节点故障后只能人工切换主从

Redis哨兵机制(Sentinel)

产生哨兵机制的原因?

解决主节点故障后只能手动切换主从的缺陷

哨兵机制的高可用

当主节点产生故障的时候,由哨兵机制(Sentinel)发现并执行故障转移,从而实现服务高可用

在这里插入图片描述
其实最终3个哨兵最终只需要一个提供服务,首先使用Raft算法(选举算法)实现选举机制,选出一个哨兵节点来完成转移和通知

哨兵机制中哨兵的工作流程

首先定时产看当前架构的拓扑结构
每个哨兵每隔10s就会向主节点发送info指令,查看当前架构的拓扑结构,哨兵配置的时候只要配置对主节点的监控即可,向
主节点发送info指令,也可以获取从节点的信息,当有新节点加入,可以马上知道

在这里插入图片描述

其次各个哨兵节点会发送自身的消息
每隔2s各个哨兵会向数据节点发送自己对当前主节点的判断,其他哨兵也会订阅该消息,从而获取其他哨兵的对主节点的判断

在这里插入图片描述

心跳检测

每隔1s各个哨兵会想主节点、从节点、以及其余各个哨兵节点发送ping命令,查看链接情况
在这里插入图片描述
若主节点出现故障后,三个哨兵先根据选举算法选举出一个领导者,用力处理故障,其展示如下

在这里插入图片描述

如何确定故障产生后的主节点
  • 过滤掉不健康的(下线或断线),没有回复过哨兵ping响应的从节点
  • 选择salve-priority从节点优先级最高(redis.conf)的
  • 选择复制偏移量最大,指复制最完整的从节点

参考链接
https://www.cnblogs.com/leeSmall/p/8398401.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值