1.Redis哨兵模式概述
哨兵模式是Redis的一种特殊模式,Redis哨兵作为一个单独的进程通过发送命令监测Redis服务器的心跳,从而判断运行的多个Redis实例是否正常运行,从而做出
正确的响应。
1.哨兵通过发送命令判断Redis服务器运行状态。
2.当哨兵监测到master宕机,会将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。
一个哨兵进程对Redis服务器进行监控,可能会出现问题,我们可以使用多个哨兵进行监控。各个哨兵之间还会互相进行监控,这样就形成了多哨兵模式。
2.哨兵模式之故障切换
假设主服务器宕机,哨兵A先检测到这个结果,系统并不会马上进行failover过程,仅仅是哨兵A主观的认为主服务器不可用,这个现象成为主观下线。
当后面的哨兵B也检测到主服务器不可用,并且数量达到一定值时,那么哨兵之间会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。
故障切换成功后,会通过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机,这个过程称为客观下线。
3.Redis配置哨兵模式
配置3个哨兵和1主2从的Redis服务器来演示这个过程。
(1)192.168.11.128 Redis主服务器Master 哨兵1
(2)192.168.11.129 Redis从服务器Slav1 哨兵2
(3 193.168.11.130 Redis从服务器Slav2 哨兵3
首先配置Redis的主从服务器,修改redis.conf文件如下
上述内容主要是配置Redis从服务器,从服务器比主服务器多一个slaveof的配置和密码。
配置3个哨兵,每个哨兵的配置都是一样的。在Redis安装目录下有一个sentinel.conf文件,copy一份进行修改
有了上述的修改,我们可以进入Redis的安装目录的src目录,通过下面的命令启动服务器和哨兵
注意启动的顺序。首先是主机(192.168.11.128)的Redis服务进程,然后启动从机的服务进程,最后启动3个哨兵的服务进程。
4. 使用哨兵模式
哨兵模式其他配置项