基本架构:zookeeper + redis
方案各种资源部署:
1. 1个master和2个以上slave
2. 1个以上zookeeper
3. 1个以上监控组件detector
4. 有watcher功能的client
实现原理:
detector功能
1. 通过detector实时查看Master和Slave的状态
2. 故障或恢复操作
1)master故障,更新zookeeper上的master和slave列表,取一个slave替代master
2)slave故障直接从列表删除,
3)故障机恢复了就增加到slave列表
4)以上根据不同的情况做相应slaveof操作
zookeeper功能
用来存储master和slave列表,承担协调作用
client功能
1. 客户端会watch zookeeper上的列表变动,同步更新,保持自己的数据于zookeeper上一致
2. 对于使用client的用户,基本上永远是可用的,除非机器全部故障
注:以上方案已经过基本测试
Redis 故障 zookeeper 高可用性 集群
------解决方案--------------------
redis性能个方面都还可以。正在使用中。。。