(四)Redis——搭建哨兵机制

一位爱好技术的橘右京的哥哥橘左京 

1. 哨兵机制(windows)

1.1 单台哨兵搭建

1.2 哨兵集群搭建

1.3 哨兵集群测试

1.4 哨兵解读


1. 哨兵机制(windows)

        为了解决主从复制模式主节点挂掉后导致Redis出现问题,可搭建哨兵进行处理。哨兵机制不时地监控Redis是否正常运行(至少保证主节点),若主节点挂掉会进行投票选举某个从节点为主节点,其他从节点与主节点建立联系。

1.1 单台哨兵搭建

1)在redis根目录下建立名为sentinel.conf配置文件
2)在配置文件内输入配置

#端口
port 26379
#哨兵检测 主节点 端口号 有一票通过 就重新选举
sentinel monitor master 192.168.3.131 6379 1

 3)启动哨兵(两种方式)

①使用cmd进入根目录输入 redis-server sentinel.conf --sentinel启动哨兵
②通过bat快捷启动↓↓↓
新建sentinel.bat,进行编辑输入
@echo off
redis-server.exe sentinel.conf --sentinel
@pause

1.2 哨兵集群搭建

        在1.1中记录了单个sentinel的搭建,实现了主从自动切换及故障转移。只搭建单台哨兵服务若出现故障会直接导致无法运作,所以为实现Redis的高可用而使用哨兵集群,官方建议数量为>=3的基数台从而防止某一台哨兵服务出现问题导致出错。

演示作用我们搭建三台哨兵服务
1)在每个Redis根目录下建立sentinel.conf
2)对多台哨兵服务进行配置,设置不同端口号

#哨兵与Redis的保护模式配置是互相独立的,所以需重新开启
protected-mode no
#当前Sentinel服务运行的端口
port 26379
#哨兵检测 主节点 端口号 有两票通过 就重新选举
sentinel monitor master 192.168.3.131 6379 2
#标识了哨兵认为主节点已经失效的时长,当哨兵中认为当前节点已经宕机(根据设置数量),则进行故障转移
sentinel down-after-milliseconds master 3000
注:无需设置 sentinel myid d16e37d23ba40da81d271079fd19f652ae0a2f2c,哨兵会自动生成

 3)同1.1,对哨兵进行启动。

1.3 哨兵集群测试

1)哨三台兵正常启动

2)6379(主),6380、6381(从)

3)停用6379Master

4)Master服务宕机后,三台哨兵会进行投票选举,当投票数达到设定值,则会进行主从切换,在对应Redis配置文件中也会对主从关系进行修改。
测试结果:哨兵检测到6379宕机,重新投票6380为Master

1.4 哨兵解读

1)持久化
哨兵每当收到指令都会以配置的方式写入配置文件持久化到磁盘中,这也就表示了哨兵可以安全的停止与启动。
2)工作方式
        ①每个哨兵每秒向Master、Slave、其他哨兵发送Ping命令
        ②若一个实例最后有效回复Ping命令时长超过own-after-milliseconds,便会被认定为主观下线(SDown)
        ③若Master被正在监视它的哨兵认定为主观下线,哨兵会每秒一次向Master进行状态确认
        ④当有足够多(设定的值)的哨兵认定为主观下线,则会被标记为客观下线(ODown)
        ⑤正常情况下哨兵会每十秒向Master、Slave发送Info命令,若被标记了客观下线则每秒发送一次
        ⑥若认定Master客观下线的票数不足,则取消客观下线,若Master有效回复了Ping命令,则取消主观下线
3)主观下线
SubJectively Down,简称SDown,它表示单个哨兵超过设定的时长没有有效回复Ping命令,则认定为主观下线状态
4)客观下线
Objective Down,简称ODown,只适用Master,它表示一定数量(设置数量)哨兵认定Master为主观下线,则转为客观下线

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis的集群哨兵机制是一种用于实现主从集群的自动故障恢复的机制。它由Redis提供,并具有以下作用和原理: 1. 监控:哨兵会不断检查主节点和从节点是否按预期工作。它会监控节点的状态,包括是否在线、是否正常工作等。 2. 自动故障恢复:如果主节点发生故障,哨兵会选择一个从节点提升为新的主节点,以保证集群的正常运行。当故障的主节点恢复后,它也会以新的主节点为主。 3. 通知:哨兵充当Redis客户端的服务发现来源,当集群发生故障转移时,它会将最新的信息(例如新的主节点的地址)推送给Redis的客户端,以便客户端能够及时更新连接信息。 通过哨兵机制Redis集群能够实现自动的故障恢复和高可用性。它能够监控节点的状态,并在主节点故障时自动选举新的主节点,同时通知客户端进行更新。这样可以保证Redis集群的稳定性和可靠性。\[1\]\[3\] #### 引用[.reference_title] - *1* *3* [【RedisRedis集群之哨兵机制](https://blog.csdn.net/Decade_Faiz/article/details/129340233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Redis集群(读写分离、哨兵机制、Cluster集群)](https://blog.csdn.net/Dean_xiu/article/details/118661742)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值