一 主从复制高可用
主从复制存在的问题:
- 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个slave变成master
- 主从复制,只能主写数据,所以写能力和存储能力有限
二 架构说明
可以做故障判断,故障转移,通知客户端(其实是一个进程,sentinel也是一个服务端),客户端直接连接sentinel的地址
- 多个sentinel发现并确认master有问题
- 选出一个sentinel作为领导
- 选取一个slave作为新的master
- 通知其余slave成为新的master的slave
- 通知客户端主从变化
- 等待老的master复活成为新master的slave
三 配置
- 配置开启主从节点
- 配置开启sentinel监控主节点(sentinel是特殊的redis)
- 应该是多台机器
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel monitor <master-name> <ip> <redis-port> <quorum>
告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效
sentinel auth-pass <master-name> <password>
设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同。
sentinel down-after-milliseconds