Redis哨兵(Sentinel)
一、哨兵模式概述
哨兵模式想解决什么问题
在Redis集群部署的背景下,如果主服务器宕机,那么需要人工手动将从服务器切换成主服务器。这会导致一段时间内Redis服务器(的数据槽)不能用。
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
哨兵模式的作用
监听主节点与从节点状态。当哨兵监测到master宕机,会自动将slave切换成master,并通知其它从服务器切换主节点
然而一个哨兵进程对Redis服务器进行监控,可能会出现问题,为此,我们可以使用多个哨兵进行监控。各个哨兵之间还会进行监控,这样就形成了多哨兵模式。
用文字描述一下故障切换(failover)的过程。
一个集群下会有多个哨兵。其中一个哨兵认为某个主节点不能用,这个现象称为【主观下线】。
如果多个哨兵都认为某个主节点不能用,它们会投票把监测的从节点切换成主节点。这个过程是【客观下线】。
刻意练习:
(1)哨兵模式想解决什么问题
(2)哨兵模式的作用
(3)描述一下故障切换(failover)即主观切换,客观切换