欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

redis搭建哨兵模式

时间:2023-06-19

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

可以看到哨兵模式已启动
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

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。