Redis哨兵模式
使用场景:当实现了redis的主从分离,即使redis的master的挂掉,slave还是可以正常的工作,但是只能有读取操作了,redis写操作只能在master上执行。哨兵模式是redis官网提供的高可用的解决方案,它会监控master的状态,如果挂掉,会在salve里面从新选举一个master,其他salve也会成为该master的slave。当重启master,他会做为salve的角色。
哨兵模式配置:
首先需要一个Redis主从模式,这个在上一篇已经介绍过了。现在主要说哨兵模式的配置
1:在redis的安装目录和src下找到sentinel.conf和redis-sentinel,分别复制到usr/redis/conf和usr/redis下面,命令如下:
cp redis-sentinel /usr/redis
cp sentinel.conf /usr/redis/conf
2:修改sentinel.conf
mymaster:服务器名称,这个可以随意
127.0.0.1 6380: 是master的地址,这个地址只需要初始化一次,后期会自动修改
数字1,表示主机挂掉后salve投票看让谁接替成为主机,得票数多少后成为主机
3:执行命令
./redis-sentinel conf/sentinel.conf &
测试:
查看redis的进程,表示sentinel已经启动
kill掉master主机
查看info信息,看是不是有一个master了
重启已经kill掉的主机看看会有什么变化
kill掉的master再次重启,会变成slave。