主从模式
说明
一主多从:主服务器负责写请求,从服务器负责读请求,主从异步数据同步
配置
主服务器:
binding 127.0.0.1
port 6380
dir ./data/master
requirepass master
从节点slave01:
binding 127.0.0.1
port 6381
dir ./data/slave01
requirepass master
# 主节点访问密码
masterauth master
从节点slave02:
binding 127.0.0.1
port 6382
dir ./data/slave01
requirepass master
masterauth master
启动 bat
start redis-server.exe redis-master.conf
start redis-server.exe redis-slave01.conf
start redis-server.exe redis-slave02.conf
哨兵模式 sentinel
说明
默认redis 主从集群存在单点故障,master出现故障,slave不会自动选举出master节点提供服务,哨兵机制则提供自动故障检测和故障转移功能。主要工作原理是订阅master节点进而获取master节点的slave节点及其他订阅该节点的sentinel节点信息,当主节点出现故障时,sentinel集群通过预定策略选组slave节点作为新的主节点提供服务,预防主节点故障,导致redis集群不可用状态。
配置
# 哨兵服务运行端口号
port 26379
# 工作目录
dir ./sentinel/01
# 日志文件路径
#logfile ./01/sentinel.log
# 后台运行
#daemonize yes
################################# master01 #################################
# 哨兵监听Redis主服务器
sentinel monitor master01 127.0.0.1 6380 2
# 监听Redis服务器访问地址
sentinel down-after-milliseconds master01 3000
# 3s内mymaster无响应则认定宕机
sentinel failover-timeout master01 10000
# 指定故障转移时最多1个从服务器同事对新的主服务器进行同步
sentinel auth-pass master01 master
# 若10s后mymaster认为启动则启动故障转移
sentinel config-epoch master01 546
启动
- redis-server.exe sentinel-01.conf --sentinel
- redis-sentinel.exe sentinel-01.conf
测试
手动关闭主节点,发现之前的从节点能自动切换为主节点状态