关于Redis sentinel哨兵高可用选举master的几个技术细节知识问与答

Redis Sentinel应用Raft协议来解决分布式系统一致性问题,即选举redis master的问题。我们在使用redis哨兵架构时,经常强调哨兵节点数量需要设置为3或5或7。假定哨兵节点数量为N,那么quorum票数就设置为N/2+1 。

实际的业务情况有很多变化,部署规模也不等,在设计Redis哨兵高可用架构时如果没留意其中的一些细节,很容易进坑。所以我结合实际工作经验设计出下面这样一道题目,通过具体使用场景结合提问的形式,促进大家思考和掌握其中蕴含的知识。

题目

假定有4个主机,分别各部署一个redis和一个哨兵,组成4节点的哨兵架构。
那么:
1、如果quorum设置为1

  • 网络通信均正常的条件下,可以正常选举master吗?
  • 网络通信均正常的条件下,如果此时有2个哨兵进程当机了,还能正常选举出新的redis master吗?
  • 如果我们的4个哨兵是这样部署的,A机房2个,B机房2个,两个机房使用专线连通,如果这时专线中断了,请问A、B机房中哨兵会表现出什么样的选举行为?

2、如果quorum设置为2

  • 网络通信均正常的条件下,可以正常选举master吗?
  • 网络通信均正常的条件下,如果此时有2个哨兵进程当机了,还能正常选举出新的redis master吗?
  • 如果我们的4个哨兵是这样部署的,A机房2个,B机房2个,两个机房使用专线连通,如果这时专线中断了,请问A、B机房中哨兵会表现出什么样的选举行为?
  • 如果我们的4个哨兵是这样部署的,A机房1个,B机房3个,两个机房使用专线连通,如果这时专线中断了,请问A、B机房中哨兵会表现出什么样的选举行为和结果?

3、如果quorum设置为3

  • 网络通信均正常的条件下,可以正常选举master吗?
  • 网络通信均正常的条件下,如果此时有2个哨兵进程当机了,还能正常选举出新的redis master吗?
  • 如果我们的4个哨兵是这样部署的,A机房2个,B机房2个,两个机房使用专线连通,如果这时专线中断了,请问A、B机房中哨兵会表现出什么样的选举行为?
  • 如果我们的4个哨兵是这样部署的,A机房1个,B机房3个,两个机房使用专线连通,如果这时专线中断了,请问A、B机房中哨兵会表现出什么样的选举行为和结果?

答案

晚几天再公布,给大家留些自己思考和交流答案的时间。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值