一、初识哨兵模式
1、概述
哨兵模式是一种特殊的模式,首先Redis提供了哨兵的命令,哨兵是一个独立的进程,作为进程,它会独立运行。其原理是哨兵通过发送命令,等待Redis服务器响应,从而监控运行的多个Redis实例。
2、作用
单哨兵模式:
多哨兵模式:
哨兵的作用:
- 通过发送命令,让Redis服务器返回监控其运行状态,包括主服务器和从服务器。
- 当哨兵监测到master宕机,会自动将slave切换成master,然后通过发布订阅模式通知其他的从服务器,修改配置文件,让它们切换主机。
二、环境配置
1、配置哨兵
即:新建sentinel配置文件,并编写
vim sentinel.conf
2、编写内容
sentinel monitor mymaster 127.0.0.1 6379 1
- mymaster : 为监控对象起的服务器名称
- 1 : 代表只有1个或1个以上的哨兵认为主服务器不可用的时候,才会进行
failover操作
。
3、启动哨兵
# redis-sentinel (sentinel.conf的路径 )
redis-sentinel jgyconfig/sentinel.conf
4、故障恢复
假如这个首领挂了,剩下的哨兵会自动选举出新的首领。
之前的首领又起死回生了,那他也只能做新首领的小弟!
(大概10秒左右可以看到哨兵窗口日志,切换了新的主机)
哪个从机会被选举为主机呢?根据优先级别:slave-priority
原主机重启后会变为从机。
优先级在redis.conf中默认:slave-priority 100,值越小优先级越高
偏移量是指获得原主机数据最全的
每个redis实例启动后都会随机生成一个40位的runid