搭建Redis-Sentinel
- Redis-Sentinel是用来监控主从结构中每个节点的状态
- 一旦发现主节点挂掉了,这些Sentinel节点会重新在从节点中选举出一个主节点
主观下线和客观下线
- 主观下线:一个Sentinel节点认为主节点下线
- 客观下线:多个Sentinel节点认为主节点下线
搭建步骤
- 下载Redis:https://github.com/MicrosoftArchive/redis/releases
- 解压三份Redis(分别命名Redis-x64-Sentinel1、Redis-x64-Sentinel2、Redis-x64-Sentinel3,一般为奇数个,因为过半数同意才能成为领导者)
新增sentinel.conf文件,修改该配置文件:
port 26380 # 当前Sentinel服务运行的端口 sentinel monitor mymaster 127.0.0.1 6380 2 # 主服务器名称 主服务器地址 主服务器端口,客观下线票数 sentinel down-after-milliseconds mymaster 10000 # 主观下线时间 sentinel parallel-syncs mymaster 1 # 故障转移之后,从节点是串行还是并行同步数据,1为串行,2为并行 sentinel failover-timeout mymaster 20000 # 故障转移超时时间 daemonize yes #以守护进程方式运行
- 以上三份分别修改不同的端口号
注册sentinel服务,任务管理器——服务——分别启动服务
redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26380 redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26381 redis-server.exe --service-install sentinel.conf --sentinel --service-name Sentinel26382
测试Redis-Sentinel
停掉主节点后,对剩余两个从节点输入:
info replication