redis主从+哨兵

主从

准备两台服务器部署redis 192.168.222.102(主) 192.168.222.103 (从)
分别安装redis
在192.168.222.103这台的redis.conf配置文件中添加 slaveof 192.168.222.102 6379
分别启动主从redis

主服务器

执行 info replication
在这里插入图片描述
插入数据set aaa bbb 成功
在这里插入图片描述

从服务器

执行 info replication
在这里插入图片描述
插入数据set aaa bbb 提示只能查看数据
在这里插入图片描述

主节点挂掉后

手动将S1子节点升级为Master(命令:slaveof no one 手动将Slaver节点升级为Master节点)
操作步骤如下:
a) Master节点:Shutdown关闭节点
b) Slaver1节点:slaveof no one将其升级为Master节点
c) Slaver2节点:使用slaveof 192.168.222.102 6379 重连Slaver1将其视为Master节点
d) 原来的Master节点:重新启动后,可以使用slaveof 192.168.222.102 6379 连接Slaver1将其视为Master节点,自己成为Slaver节点

哨兵

Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。

在这里插入图片描述
 在Server1 掉线后:
 在这里插入图片描述
 升级Server2 为新的主服务器:
 在这里插入图片描述
在主服务器的sentinel.conf中添加 sentinel monitor mymaster 192.168.222.102 6379 2
启动sentinel ./redis-sentinel ./sentinel.conf

在这里插入图片描述

手动关闭master (此时的master为192.168.222.102)
在这里插入图片描述
我们手动关闭Master 之后,sentinel 在监听master 确实是断线了之后,将会开始计算权值,然后重新分配主服务器
在这里插入图片描述
此时原来的从服务器(192.168.222.103)变为了主服务器(master)
在这里插入图片描述

重连Master
    大家可能会好奇,如果master 重连之后,会不会抢回属于他的位置,答案是否定的,就比如你被一个小弟抢了你老大的位置,他肯给回你这个位置吗。因此当master 回来之后,他也只能当个小弟  
在这里插入图片描述

Sentinel 总结

一、Sentinel的作用:
A、Master 状态监测

B、如果Master 异常,则会进行Master-slave 转换,将其中一个Slave作为Master,将之前的Master作为Slave

C、Master-Slave切换后,master_redis.conf、slave_redis.conf和sentinel.conf的内容都会发生改变,即master_redis.conf中会多一行slaveof的配置,sentinel.conf的监控目标会随之调换

二、Sentinel的工作方式:
1):每个Sentinel以每秒钟一次的频率向它所知的Master,Slave以及其他 Sentinel 实例发送一个 PING 命令
2):如果一个实例(instance)距离最后一次有效回复 PING 命令的时间超过 down-after-milliseconds 选项所指定的值, 则这个实例会被 Sentinel 标记为主观下线。
3):如果一个Master被标记为主观下线,则正在监视这个Master的所有 Sentinel 要以每秒一次的频率确认Master的确进入了主观下线状态。
4):当有足够数量的 Sentinel(大于等于配置文件指定的值)在指定的时间范围内确认Master的确进入了主观下线状态, 则Master会被标记为客观下线
5):在一般情况下, 每个 Sentinel 会以每 10 秒一次的频率向它已知的所有Master,Slave发送 INFO 命令
6):当Master被 Sentinel 标记为客观下线时,Sentinel 向下线的 Master 的所有 Slave 发送 INFO 命令的频率会从 10 秒一次改为每秒一次
7):若没有足够数量的 Sentinel 同意 Master 已经下线, Master 的客观下线状态就会被移除。
若 Master 重新向 Sentinel 的 PING 命令返回有效回复, Master 的主观下线状态就会被移除。

参考文档:https://www.cnblogs.com/gossip/p/5992716.html
https://www.cnblogs.com/jaycekon/p/6237562.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值