Redis高可用性:主从、哨兵和集群

一、主从模式:master-slave

1. 引入背景:单实例Redis由于数据量大性能会降低

2. master保证客户端的读写,slave保证与master的数据同步和客户端的读取,从而实现备份和读写分离

3. 只需手动要修改slave机器的配置文件即可;如果master挂了,可以升级slave为master,即可读写

仅需要在slave node上修改配置:

找到slaveof这行,参考下面的修改(填上master node的Ip和端口就完事了)

slaveof 10.6.144.155 7030

另外注意下 slave-read-only yes 这行,这表示slave只读不写,也是推荐设置

二、高可用性方案:Sentinel机制(哨兵机制)

1. 引入背景:在主从模式下,需要手动切换主备,会造成服务一段时间不可用

2. 哨兵是一个独立的进程,通过发送命令,监控多个Redis实例(包括主Redis和从Redis)的运行状态

3. 一个哨兵可能出现问题,所以使用多个哨兵进行监控Redis,并且哨兵之间会相互监控

4. 故障切换(failover):主观下线(一个哨兵监测到master故障)和客观下线(通过发布订阅模式切换主从)

5. 以上过程对客户端透明

三、redis集群

Redis3.0版本推出了集群(Cluster)功能,进行负载均衡 

参考:

https://www.jianshu.com/p/06ab9daf921d

https://www.cnblogs.com/PatrickLiu/p/8444546.html

https://segmentfault.com/a/1190000002680804

https://www.cnblogs.com/xiaoblog/p/5776892.html

https://blog.csdn.net/keketrtr/article/details/78802571

猜你喜欢

转载自www.cnblogs.com/june0816/p/6285425.html