Redis学习集群篇----Sentinel 哨兵

本文介绍了Redis Sentinel哨兵系统在Redis集群中的作用,它负责监控主从节点的健康状态,实现自动故障转移。当主节点挂掉,Sentinel会选择最优从节点作为新的主节点,并通知客户端。Sentinel还设置了参数如`min-slaves-to-write`和`min-slaves-max-lag`来减少数据丢失风险。此外,文章详细讲解了Sentinel的启动方式、配置以及主从判定状态,如SDOWN和ODOWN。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sentinel 哨兵
Sentinel:Redis中高可用的,自动进行主从切换,Redis Sentinel集群可以看成是一个zookerper集群,是集群高可用的心脏
Sentinel主要工作:
负责持续监控主从节点的健康,如果主节点挂掉会会从新选择一个新的主节点(选一个最优从节点)
客户端连接步骤:
客户端----->sentinel集群------>通过sentinel查询主节点地址----->连接主节点并进行数据交互
当主节点发生故障时sentinel会将最新的主节点告知客户端
主节点故障后sentinel会调整,选出新的主节点,并会持续监控故障主节点,恢复后重新建立关系变成从节点
1、消息丢失
Redis中主从采用异步复制,会出现主节点挂掉后,从节点可能会没有完全接收全部的同步消息
通过较小的主从延时减少消息丢失:设置选项
min-slaves-to-write 1 至少有一个从节点可以正常复制,复制就停止对外服务
min-slaves-max-lag 10 10s没有收到从节点,就表示从节点同步不正常
2、Sentinel基本用法
启动方式:必须带上配置文件
[root@localhost src]# redis-sentinel /redis-5.0.4/sentinel.conf
[root@localhost src]# redis-server /redis-5.0.4/sentinel.conf --sentinel
#sentinel的配置 名字为mymaster的
69 sentinel monitor mymaster 127.0.0.1 6379 2
70 #sentinel的心跳60000时间没有回来sentinel认为master已经不可用
71 sentinel dow-after-milliseconds mymaster 60000
73 sentinel failover-timeout mymaster 180000
74 #指定最多可以有多少个slave同时对新的master进行同步
75 sentinel paraller-syncs mymaster 1

sentinel对于不可用的判定
一个叫主观不可用(SDOWN):sentinel自己检测sentinel不可用
另外一个叫客观不可用(ODOWN):需要一定数量的sentinel达成一致意见才能认为一个master客观上已经宕掉
sentinel之间通过命令SENTINEL is_master_down_by_addr来获得其它sentinel对master的检测结果。

sentinel显示的主从节点
表示主节点:25139:X 04 May 2019 20:57:58.815 # +monitor master mymaster 127.0.0.1 6379 quorum 2
表示从节点:25139:X 04 May 2019 20:58:18.892 * +reboot slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379
表示从节点:25139:X 04 May 2019 20:58:18.892 * +reboot slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379
主节点被关闭时(主观不可用):
25139:X 04 May 2019 21:01:35.101 # +sdown master mymaster 127.0.0.1 6379

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值