【Redis —— 07 哨兵模式(Sentinel)】

Redis 哨兵(Sentinel)模式用于提供高可用性解决方案,可以自动监控 Redis 主从复制结构,进行故障检测和自动故障转移,从而确保系统的高可用性。

哨兵的主要功能

  1. 监控(Monitoring):哨兵不断检查主服务器和从服务器是否正常工作。
  2. 通知(Notification):当发现某个 Redis 服务器出现问题时,哨兵可以通过 API 通知系统管理员或其他应用程序。
  3. 自动故障转移(Automatic failover):当主服务器不可用时,哨兵会自动将一个从服务器提升为新的主服务器,并将其他从服务器重新配置为复制新的主服务器。
  4. 配置提供者(Configuration provider):客户端可以连接到哨兵来获得当前的主服务器地址,而不是直接连接到 Redis 服务器。

 

哨兵配置(这里默认 已经 配置好主从复制)

主服务器配置
  • 主服务器的配置通常保持默认设置,无需特别的哨兵配置。
从服务器配置
  • 从服务器的配置文件应包括指向主服务器的配置。
哨兵配置
  • 哨兵服务器的配置文件 sentinel.conf 需要配置监控的主服务器和其他参数。
# 哨兵运行的端口
port 26379

# 哨兵监控的主服务器
sentinel monitor mymaster 192.168.1.100 6379 2

# 主服务器不可用时,多少个哨兵认为主服务器失效,才会进行故障转移
sentinel down-after-milliseconds mymaster 5000

# 故障转移最大尝试时间
sentinel failover-timeout mymaster 180000

# 提升为主服务器的从服务器需要达到的优先级
sentinel parallel-syncs mymaster 1

# 主服务器的密码,如果有设置的话
# sentinel auth-pass mymaster mypassword

启动哨兵

在多个服务器上启动哨兵实例,确保高可用性。

假设有三台服务器 192.168.1.101192.168.1.102192.168.1.103,分别启动哨兵:

redis-sentinel /path/to/sentinel.conf

监控和故障转移

哨兵监控

哨兵通过 PING 命令监控主服务器和从服务器。如果主服务器在指定时间内没有响应,哨兵会认为主服务器不可用,并开始故障转移。

故障转移过程
  1. 发现故障:哨兵检测到主服务器故障后,会与其他哨兵进行协商(通过 Quorum 机制),确认主服务器确实不可用。
  2. 选举领导哨兵:多个哨兵之间会选举出一个领导哨兵来负责故障转移。
  3. 选择新的主服务器:领导哨兵会从现有的从服务器中选择一个提升为新的主服务器。
  4. 重新配置从服务器:其他从服务器会重新配置为复制新的主服务器。
  5. 通知客户端:哨兵将新的主服务器地址通知给客户端,以便客户端重新连接。

注意:如果前一个主机恢复了,也只能做新主机的从机

  • 15
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值