Redis Master Slave + sentinel
2017-06-02 17:21
483 查看
先大概说下实践中该怎么配,再说下项目中比较好玩的事情。
开启redis主从结构。
打开多个sentinel监控master,sentinel组名要统一,注意sentinel投票数目的设置。
如果需要同步两个master-slave,可以考虑把一个结构的master变为另一个结构的slave。
同步完后注意斩断sentinel的监控关系,这里有两种方案。
重启sentinel并删除sentinel中自动追加的结构关系。
使用不同的sentinel group。
当master down了以后,sentinel会选出新的master,然后接着更新其他sentinel的配置和redis instance,如果在此期间原来的master又发生了重启,sentinel的选择机制就会发生混乱。
这时会会引起一个好玩的现象,就是所有的instance都会认为自己是master,一段时间后就会发现master在所有的instance中相互切换。
这是我在尝试redis的时候发现的问题,可能是由于做实验没在乎sentinel是否确实选择结束,急着重启redis看结果导致的。
如果在同一套master-slave结构配置多条sentinel-group会有意外的惊喜哦,多个sentinel组同时作用,会搞得redis一团糟。
下面用markdown做的图有点小问题,第三行右边的no分支无法显示,不知道是不是CSDN的bug。分支no的内容就是sentinel会每五分钟重启一次。
Created with Raphaël 2.1.0StartStart master&slavestart sentinel(M/S)?shut(M/S)?sentinel转监控slave,slave升级为master重启关闭的服务原master自动变为slaveEndsentinel信息不变重启关闭的服务之前slave变为单独mastershut(M/S)?slave一直为slave,sentinel信息不变重启关闭的服务主从结构回复,sentinel不变yesnoyesnoyes
配置说明
配置其实很简单。开启redis主从结构。
打开多个sentinel监控master,sentinel组名要统一,注意sentinel投票数目的设置。
如果需要同步两个master-slave,可以考虑把一个结构的master变为另一个结构的slave。
同步完后注意斩断sentinel的监控关系,这里有两种方案。
重启sentinel并删除sentinel中自动追加的结构关系。
使用不同的sentinel group。
好玩的事情
在玩redis sentinel的时候发现了两个比较好玩的东西。当master down了以后,sentinel会选出新的master,然后接着更新其他sentinel的配置和redis instance,如果在此期间原来的master又发生了重启,sentinel的选择机制就会发生混乱。
这时会会引起一个好玩的现象,就是所有的instance都会认为自己是master,一段时间后就会发现master在所有的instance中相互切换。
这是我在尝试redis的时候发现的问题,可能是由于做实验没在乎sentinel是否确实选择结束,急着重启redis看结果导致的。
如果在同一套master-slave结构配置多条sentinel-group会有意外的惊喜哦,多个sentinel组同时作用,会搞得redis一团糟。
最后再说一句
看sentinel的是时候注意sentinel配置中自动追加的条目,要搞清slave的instance和sentinel之间的相互识别。下面用markdown做的图有点小问题,第三行右边的no分支无法显示,不知道是不是CSDN的bug。分支no的内容就是sentinel会每五分钟重启一次。
Created with Raphaël 2.1.0StartStart master&slavestart sentinel(M/S)?shut(M/S)?sentinel转监控slave,slave升级为master重启关闭的服务原master自动变为slaveEndsentinel信息不变重启关闭的服务之前slave变为单独mastershut(M/S)?slave一直为slave,sentinel信息不变重启关闭的服务主从结构回复,sentinel不变yesnoyesnoyes
相关文章推荐
- Redis采用sentinel哨兵模式进行master-slave复制,read-write分离
- 【Redis】Redis学习(二) master/slave、sentinel、Cluster简单总结
- redis master/slave+sentinel 集群配置
- redis 4.0.9 master slave + sentinel 实战测试
- redis 从sentinel的日志文件分析3个哨兵的master-slave切换实验
- Redis2.8.6的Master/Slave/Sentinel安装及配置文件说明
- Redis 复制(Master/Slave)
- Redis 的 master/slave 复制
- redis 学习笔记(3)-master/slave(主/从模式)
- Redis master and slave
- Redis_master-slave模式
- 【学习笔记】Redis主从(Master,Slave)
- [置顶]linux下redis的最佳实践(Master-Slave)
- Redis实现主从复制(master-slave)
- redis -master/slave(主/从模式)
- redis配置master-slave模式
- Redis Master/Slave 实践
- Redis主从复制(Master-Slave Replication)
- Redis在一台主机上建立Master-Slave
- Redis的master/slave简单实现