redis的哨兵模式,就是用于在一主多从的集群环境下,如果主服务器宕机了,它会自动的将从服务器中的一台设为新的master,并且将其余的slave的配置文件自动修改,这样就切换出一套新的主从服务,不需要人工干预,且不会影响服务的使用。
在生产环境中,为了保证redis服务的高可用,通常都会搭建主从。我们知道主从的原理是从服务器获取rdb文件的全量复制+写操作的增量复制来共同保证数据的一致性,所以在配置从服务器的时候,一个很重要的配置项就是标明主服务器的ip和端口号,总得知道哪一台服务器是我的主子不是,像下图中的replicaof配置。
对于图中的部署方案,如果主服务器宕机了,我们只能进行手动干预,选择一台从服务器重新作为主服务器,然后将另外的两台从服务器的配置文件修改一下,将replicaof的配置重新改成新的主服务器地址。人工干预费时费力不说,更重要的是,这样会造成一段时间内服务是不可用的。在这种场景下,哨兵模式应运而生了。