什么是哨兵模式

649 阅读1分钟

图片.png

简介

哨兵模式是一种特殊模式,首先Redis提供了哨兵命令。
哨兵是一个独立的进程,它会独立运行。
其原理是哨兵通过发送命令等待Redis服务器响应,从而监控运行的多个Redis实例。

哨兵的作用:

1.通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。

2.当哨兵检测到master宕机,会自动将slave切换为master,然后通过发送订阅模式通知其他的从服务器,修改配置文件,让他们切换主机。

一个哨兵进程对Redis服务器进行监控,可能会出现问题,所以我们使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多个哨兵模式。

故障切换的过程

假设主服务器宕机,哨兵1先检测到这个结果,系统不会马上进行failover过程,仅仅时哨兵1直观认为主服务器不可用,这个现象叫主观下线。当后面的哨兵也检测到主服务器不可用,并且数量达到一定值时,那么哨兵会进行一次投票,投票的结果由一个哨兵发起,进行failover操作。切换成功后,就会通过发布订阅模式,让各个哨兵把自己监控的从服务器实现切换主机,这个过程成为客观下线。