首页 >数据库 >Redis > 正文

Redis集群故障转移如何实现

原创2020-06-30 13:09:460766

Redis集群故障转移的方法:1、从所有的从节点里面选举出一个新的主;2、选举出的新主会执行slaveof no one把自己的状态从slave变成master;3、撤销已下线的主节点的槽指派,并把这些槽位重新指派给自己。

Redis集群故障转移的方法:

一、故障检测
- 1.集群中所有节点都会向其它节点发送PING消息,当在规定的时间内,没有收到对应的PONG消息,就把此节点标记为疑似下线;

- 2.在发送的PING消息里面,会带着当前集群和节点的信息;通过这种方式,即可检测节点的存活,又能维护集群信息的统一性,不过有一定

的时延;

- 3.疑似下线不是真的下线,只有满足以下条件才是真的下线;

- 主节点并且是被分配了slot槽位的主节点中有超过一半的节点都认为此节点疑似下线,才能真的下线;

- 4.当某个节点通过消息得知有一个节点的疑似下线投票已经超过集群一半的时候,会发送一个标识此节点下线的广播消息;

- 5.其它节点收到某节点已经下线的广播后,把自己内部的集群维护信息也修改为节点已下线状态。

二、故障转移
- 1.从所有的从节点里面选举出一个新的主;

- 2.选举出的新主会执行slaveof no one把自己的状态从slave变成master;

- 3.撤销已下线的主节点的槽指派,并把这些槽位重新指派给自己;

- 4.新的主节点向集群广播一条PONG消息,通过这个消息告诉所有集群节点:自己已经变成了主节点,接管了原来的主节点;

- 5.新的主节点开始接收和处理与自己槽位相关的命令请求。

相关学习推荐:redis视频教程

以上就是Redis集群故障转移如何实现的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码

声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理

  • 相关标签:Redis 集群 故障转移
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    作者信息

    coldplay.xixi

    好好学习 天天向上

    最近文章
    重点详解Java类和对象1399
    浅析php简单操作mysql锁机制3010
    php无法加载mysql怎么办1587
    推荐视频教程
  • 传智播客redis基础视频教程传智播客redis基础视频教程
  • 燕十八redis视频教程燕十八redis视频教程
  • NoSql-redis基础视频教程NoSql-redis基础视频教程
  • Redis基础视频课程Redis基础视频课程
  • 视频教程分类