redis搭建哨兵模式

redis哨兵模式,是指针对主从复制模式的一种监控状态的模式,在redis主从模式中,若主机发生故障而导致宕机时候,需要人为干预,重启主机服务,这样是很不方便的,而哨兵则能很好的解决这个问题,哨兵可以对主从复制模式的主机进行监控,如果发生故障,则可以通过内部机制将其中的一个从机作为主机继续进行服务,选举主机遵从以下原则:

  • redis配置文件中参数:replica-priority 100(优先级,数字越低,优先级越高)
  • 从机的数据越符合主机数据,优先级越高
  • redis启动的服务,会随机生成一个40位的id,id越小优先级越高
    启动哨兵模式,在原来redis主从复制模式基础上,进行配置
    编辑 sentinel.conf 文件
# 设置哨兵监控的主机地址
# sentinel monitor mymaster ip port num (num 是当主机宕机,从机选举通过票数1代表有一个投票就可以)
# 注意:这里主机地址使用真实的ip地址,否则无法连接
sentinel monitor mymaster 192.168.1.35 6379 1
# 设置主机的密码(无密码可以省略)
sentinel auth-pass mymaster lixl123
# 设置未得到主机响应时间,此处代表5秒未响应视为宕机
sentinel down-after-milliseconds mymaster 5000
# 设置等待主机活动时间,此处代表15秒主机未活动,则重新选举主机
sentinel failover-timeout mymaster 15000
# 设置重新选举主机后,同一时间同步数据的从机数量,此处代表重新选举主机后,每次两台从机同步主机数据,直到所有从机同步结束
sentinel parallel-syncs mymaster 2

完成后,使用redis/bin目录下的 redis-sentinel 文件启动哨兵模式
./redis-sentinel sentinel.conf
redis搭建哨兵模式_第1张图片
可以看到哨兵模式已启动
java调用只需要调整配置文件中内容即可

spring:
  redis:
    #host: 192.168.1.35 将原来的单节点注释
    #port: 6379
    sentinel:  # 使用哨兵模式
      master: mymaster #主节点
      nodes: 192.168.1.35:26379 #哨兵启动的ip 和端口号
    password: lixl123
    database: 1
    timeout: 5000
    lettuce:
      pool:
        max-active: 20
        max-wait: -1
        max-idle: 5
        min-idle: 1

我们可以主动将主机停掉,停止后,哨兵会重新选取主机,程序不受影响!

你可能感兴趣的:(redis,redis,数据库,database)