Redis之Sentinel哨兵监控

发布时间 2023-09-20 16:33:03作者: gengone

哨兵简介
 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:端口,,,