分享redis基础知识(六)

55 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第30天,点击查看活动详情

image.png

redis哨兵机制(解决主从复制选举问题,最少三台服务器)

redis哨兵机制底层原理:

1、哨兵机制每隔10s时间,只需要配置监听我们的主(master)的redis服务器,就可以调用递归的形式获取到整个reids集群服务器列表,原理就是info

2、哨兵不建议是单机的,最好每个Redis节点都需要配置哨兵监听。(单机哨兵如果宕机的话,就没有作用了,哨兵必须做集群)

3、reids哨兵机制如何实现一个群体呢?多个哨兵都会同时执行监听到同一个master节点,订阅相同的通道(主题),有新的哨兵加入的时候将自己服务器的信息发送到主题中,随后相互实现长链接。

4、master服务器宕机之后,如何实现选举策略?

单个哨兵会向主的master节点发送ping的命令,如果这个时候master没有及时的响应的话,这个时候单个哨兵会认为该master主观不可用状态。这个时候单个哨兵会通知其他的哨兵去确认该master节点是否为宕机状态,如果超过>=配置文件的确定数,就会认为master节点宕机,从新选举新的领导。

为什么认为主观不可用,需要其他的哨兵确认是否宕机。

5、reids在选举过程中不能连接,因为不知道谁是主从,也就不知道谁能写

6、主节点宕机后,重启后,哨兵配置文件自动修改为监听新的主节点。

image.png

cp /usr/redis-5.0.6/sentinel.conf    /usr/redis/bin

cd  /usr/redis/bin

vi sentinel.conf

sentinel monitor mymaster 192.168.212.160 6379 2

sentinel auth-pass mymaster 123456

daemonized yes 改成后台启动

ps aux | grep 'redis'

kill -9 2131

哨兵只能解决选举问题,不能解决主从复制,选举完后,会自动把主从复制的配置删除掉,需要自己修改配置文件redis.con人为设置密码(masterauth 123456),或者不设置密码。