哨兵简介
1. redis提供了哨兵的命令,是一个独立的进程
2. 哨兵通过发送命令给节点,通过redis节点响应达到监控多个redis实例的运行情况
3. 当哨兵发现master宕机,会自动将从节点切换成主节点,并通知其他的从节点,修改配置文件切换主机
4. 默认端口是26379
哨兵的主要任务
1. 监控
2. 提醒:当redis服务器出现问题时,sentinel可以通过api向管理员或其他应用发送通知
3. 自动故障迁移
相关名词介绍
1. 主观下线(SDOWN):单个sentinel实例对服务器下线做出的判断,发送PING命令没有得到有效回复
2. 客观下线(ODOWN):
◦ 多个sentinel实例对同一个服务器做出下线判断,并且通过命令SENTINEL is-master-down-by-addr命令互相交流之后,得出的服务器下线判断
◦ 一个sentinel实例可以通过SENTINEL is-master-down-by-addr命令来询问其他sentinel节点是否认为指定的服务器已下线
◦ 客观下线只适用于主服务器
3. 仲裁(qurum)
◦ sentinel在给定的时间范围内,如果从其他sentinel节点收到了足够数量的下线确认,将会把服务器从主观下线改为客观下线
◦ 当拥有主观下线的哨兵达到所配置的数量时,就会发起一次投票,进行故障迁移
主要配置及命令
1. sentinel monitor 节点名称 节点ip 节点端口 sentinel数量(代表多少个sentinel哨兵认为主服务器不可用的时候才进行故障迁移操作)
2. sentinel authpass 节点名称 节点密码
3. sentinel down-after-millseconds 节点名称 时间:节点未连接上的超时时间设置
4. sentinel failover-timeout 节点名称 时间:failover失败超时时间设置
5. pidfile:pid文件
6. logfile:日志文件
7. 启动命令(linux):./redis-server sentinel配置文件 --sentinel
注意
◦ 主从切换时会丢失短暂数据
◦ 应用程序连接的是Sentinel
Springboot整合Redis Sentinel
在redis下新增节点:
• sentinel
◦ master: 节点名称,在配置文件配置
◦ nodes: ip:端口,,,