温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Redis故障转移流程是什么意思

发布时间:2021-06-25 11:47:26 来源:亿速云 阅读:194 作者:chen 栏目:大数据

本篇内容介绍了“Redis故障转移流程是什么意思”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Redis-sentinel故障转移流程

  1. sentinel初始化


    • 初始化sentinel状态里的masters属性

    • 创建连向各个master的网络连接(命令连接、订阅连接)

  1. sentinel向配置的masters发送info命令(每10秒):获取master及slave信息


    • 更新master实例结构

    • 更新master实例结构里的slave信息

    • 创建连向各个slave的网络连接(命令连接、订阅连接)

  1. sentinel向slaves发送info命令(每10秒):获取slave信息


    • 更新master实例结构里的slave信息

  1. sentinel向所有的master和slave的__sentinel__:hello频道发布消息(每2秒):

  2. sentinel订阅主从服务器的频道信息:获取其他sentinel信息


    • 更新master实例结构里的sentinels信息

    • 创建连向各个sentinel的网络连接(命令连接)

  1. sentinel向所有已知的master/slave/sentinel发送ping命令(每1秒):心跳检测

  2. 主观下线:节点在down-after-milliseconds均未返回有效回复


    • 更新master实例结构的flags属性:SRI_S_DOWN

    • 不同sentinel设置的主观下线时长可能不同:down-after-milliseconds

    • 向同样监控该master的其他sentinel发送下线询问命令:SENTINEL is-master-down-by-addr <ip> <port> <current_epoch>0 <runid>*

  1. 客观下线:主观下线的sentinel数量达到quorum


    • 不同sentinel设置的quorum可能不同

  1. sentinel选主


    • raft算法

    • 进入客观下线的sentinel,向其他sentinel发送SENTINEL is-master-down-by-addr <ip> <port> <current_epoch> <runid>

    • 当runid不是*而是源sentinel的运行ID时,表明源sentinel要求目标sentinel将自己设为局部leader

    • 设置局部leader的规则是先到先得

    • 票数大于半数,则成为leader

  1. sentinel leader做故障转移:连接断开时间、优先级、offset、run_id

  2. sentinel leader向选举出来的slave发送slaveof no one命令,变成leader

  3. sentinel leader向其他slave发送命令,使其转为新leader的slave

  4. sentinel leader对旧master做心跳检测,当其恢复后使其转为新leader的slave

Redis-cluster故障转移流程

  1. node加入集群后,使用gossip算法完成集群中信息同步

  2. node与集群中所有主节点互相做心跳检测

  3. 疑似下线

  4. 已下线(半数主节点)

  5. 广播node fail的消息

  6. 故障转移


    • 故障node的从节点选主,投票人是集群中的主节点

    • 新的节点升级为主节点

    • 撤销已下线主节点的槽指派,并全部指派给自己

    • 广播PONG消息,通知集群新的主节点,及槽指派

  1. 旧的主节点恢复后,成为新的主节点的slave

“Redis故障转移流程是什么意思”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI