Redis 哨兵模式
在 Redis如何实现主从复制 这篇文章中已经介绍了我们如何搭建一个小的 Redis 集群,从而实现主从复制。但是有一个缺点,master 宕机之后,其余的 slave 会一直等待,这就导致了这段时间没有办法向 redis 中写数据,那我们可不可以当 master 宕掉之后,让其余的 slave 从它们之中选出一个自动晋升为 master 呢?答案是肯定的。
一、什么是哨兵模式
它是反客为主的自动版,能够在后台自动监控主机是否故障,如果主机故障了,其余的从机会自动进行投票选举,得票数最多的从机将转换为 master。
二、如何实现哨兵模式
- 开启三个 redis 服务:6379,6380,6381。
- 先让 6379 成为 master,其余两个服务成为它的 slave。
- 在自定义的
/myconf
目录下新建 sentinel.conf 文件,必须是这个名字。 在里面填写内容:
sentinel monitor 被监控的数据库名字(随意) 192.168.198.130 6379 1
上面最后一个数字 1,表示 master 宕掉后,slave 投票看让谁接替成为主机,得票数最多的成为主机。
启动哨兵:
redis-sentinel /myconf/sentinel.conf
,这个 /myconf 目录根据自己的实际情况进行配置。- 这样当我们把 master
shutdown
之后,开启的哨兵服务会自动从剩余的两个 slave 投票选出一个当 master,而当原来的 master 上线之后会成为 从机。
还没有评论,来说两句吧...