主从复制高可用
上节讲的主从复制可以实现读写分离,缓解master的读压力
如果master出现故障必须进行人工处理,包括选择一个slave 进行slaveof no one 使其成为master在其余slave上执行 slaveof newmaster包括客户端地址链接地址修改
需要自动监控各节点的运行情况需要一个组件实现监控,redis sentinel起到这么一个角色
架构说明
sentinel还可以监控多组redis
安装配置
配置项 | 默认值 | 说明 |
---|---|---|
port | 26379 | redis sentinel端口号 |
dir | redis sentinel存放日志目录 | |
logfile | redis sentinel日志名 | |
sentinel monitor mymaster ip port num | redis sentinel监控master,num为当几个redis sentinel监控到有问题,会进行故障转移 | |
sentinel down-after-milliseconds mymaster 30000 | 指定sentinel认为redis实例失效所需的毫秒数。当实例超过该时间没有返回PING,或者直接返回错误,那么Sentinel将这个实例标记为主观下线。只有一个 Sentinel进程将实例标记为主观下线并不一定会引起实例的自动故障迁移:只有在足够数量的Sentinel都将一个实例标记为主观下线之后,实例才会被标记为客观下线,这时自动故障迁移才会执行 | |
sentinel parallel-syncs mymaster 1 | 在执行故障迁移时,指定最多有多少个从redis实例同步新的主redis。 | |
sentinel failover-timeout mymaster 180000 | 在指定时间(ms)内,未完成故障转移,则认为故障转移失败 |
实现原理
客户端连接
常见问题
版权声明:本文为tpyqwe原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。