Redis Master Slave + sentinel

先大概说下实践中该怎么配,再说下项目中比较好玩的事情。

配置说明

配置其实很简单。

  1. 开启redis主从结构。
  2. 打开多个sentinel监控master,sentinel组名要统一,注意sentinel投票数目的设置。

如果需要同步两个master-slave,可以考虑把一个结构的master变为另一个结构的slave。

同步完后注意斩断sentinel的监控关系,这里有两种方案。

  1. 重启sentinel并删除sentinel中自动追加的结构关系。
  2. 使用不同的sentinel group。

好玩的事情

在玩redis sentinel的时候发现了两个比较好玩的东西。

  1. 当master down了以后,sentinel会选出新的master,然后接着更新其他sentinel的配置和redis instance,如果在此期间原来的master又发生了重启,sentinel的选择机制就会发生混乱。
    这时会会引起一个好玩的现象,就是所有的instance都会认为自己是master,一段时间后就会发现master在所有的instance中相互切换。
    这是我在尝试redis的时候发现的问题,可能是由于做实验没在乎sentinel是否确实选择结束,急着重启redis看结果导致的。
  2. 如果在同一套master-slave结构配置多条sentinel-group会有意外的惊喜哦,多个sentinel组同时作用,会搞得redis一团糟。

最后再说一句

看sentinel的是时候注意sentinel配置中自动追加的条目,要搞清slave的instance和sentinel之间的相互识别。

下面用markdown做的图有点小问题,第三行右边的no分支无法显示,不知道是不是CSDN的bug。分支no的内容就是sentinel会每五分钟重启一次。

Created with Raphaël 2.1.0 Start Start master&slave start sentinel(M/S)? shut(M/S)? sentinel转监控slave,slave升级为master 重启关闭的服务 原master自动变为slave End sentinel信息不变 重启关闭的服务 之前slave变为单独master shut(M/S)? slave一直为slave,sentinel信息不变 重启关闭的服务 主从结构回复,sentinel不变 yes no yes no yes
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值