哨兵模式概念

Redis的哨兵模式(Sentinel)是一种高可用的部署方式,由一个或多个Sentinel实例组成的Sentinel系统可以监控和管理多个Redis实例。在哨兵模式下,有一个或多个哨兵进程监控Redis主服务器和备份服务器的状态,并在主服务器下线时自动切换到备份服务器,继续处理命令请求。
详解见链接http://t.csdnimg.cn/FY1Pq

简单实现

首先在主机上配置个一主两从的redis服务器,这里我配置了3个redis配置文件,其中redis-6381.conf是主节点

image-20240730085620963

再配置至少一个sentinel.conf配置文件,里面只需要加入如下语句(可在命令行用 vi <文件地址> 进行直接编写):

1
sentinel monitor <主节点名称,任意即可>  <主节点ip地址,例127.0.0.1>  <主节点端口号>

如下所示,conf文件第一行即为加入的语句,语句下面是使用过程中产生的日志

image-20240730090039350

然后在命令行分别启动这三个节点的服务器(例: redis-server myredis/redis-6380.conf) 以及启动哨兵模式 (例: redis-sentinel redis_sentinel/sentinel2.conf)

最后就可以成功看到命令行中sentinel已经成功监控主节点了

image-20240730091105753

再把端口号为6381的这个主节点服务器关闭(在客户端使用shutdown命令),可以看到

image-20240730091438684

由最后一句知道,新的主节点转换为了6382,查看6381和6382的从属关系可知已经改变了。

image-20240730091615627

这时,再把原来的主节点6381重新启动,哨兵检测到6381的恢复并主动将其设置为6382的从节点,如下图所示:

image-20240730091904396

至此,哨兵模式的简单实现流程就完成了,更加具体的内容还是查看其他博主的帖子吧。