Redis中的Cluster高可用和主从切换原理
当slave 发现自己的master 变为FAIL 状态时,便尝试进行Failover,以期成为新的master。由于挂掉的master 可能会有多个slave,从而存在多个slave 竞争成为master节点的过程, 其过程如下:
1.slave 发现自己的master 变为FAIL
2.将自己记录的集群currentEpoch 加1,并广播FAILOVER_AUTH_REQUEST 信息
3. 其他节点收到该信息, 只有master 响应, 判断请求者的合法性, 并发送FAILOVER_AUTH_ACK,对每一个epoch 只发送一次ack
4.尝试failover 的slave 收集FAILOVER_AUTH_ACK
5.超过半数后变成新Master
6.广播Pong 通知其他集群节点。
Redis Cluster 既能够实现主从的角色分配,又能够实现主从切换,相当于集成了Replication 和Sentinal 的功能。
Redis中的Cluster高可用和主从切换原理相关推荐
- redis 系列26 Cluster高可用 (1)
redis 系列26 Cluster高可用 (1) 原文:redis 系列26 Cluster高可用 (1) 一.概述 Redis集群提供了分布式数据库方案,集群通过分片来进行数据共享,并提供复制和故 ...
- 解说redis中如何实现高可用
redis中为了实现高可用(High Availability,简称HA),采用了如下两个方式: 主从复制数据. 采用哨兵监控数据节点的运行情况,一旦主节点出现问题由从节点顶上继续进行服务. 主从复制 ...
- redis 系列27 Cluster高可用 (2)
redis 系列27 Cluster高可用 (2) 原文:redis 系列27 Cluster高可用 (2) 一. ASK错误 集群上篇最后讲到,对于重新分片由redis-trib负责执行,关于该工具 ...
- redis系列之——高可用(主从、哨兵、集群)
Redis系列目录 redis系列之--分布式锁 redis系列之--缓存穿透.缓存击穿.缓存雪崩 redis系列之--Redis为什么这么快? redis系列之--数据持久化(RDB和AOF) re ...
- Redis Cluster高可用(HA)集群环境搭建详细步骤
1.为什么要有集群 由于Redis主从复制架构每个数据库都要保存整个集群中的所有数据,容易形成木桶效应,所以Redis3.0之后的版本添加特性就是集群(Cluster) 2.Redis集群架构说明 架 ...
- 面试突击 005 | Redis 是如何实现高可用的?它的实现方式有哪些?「视频版」
这是我的第 35 篇原创文章 作者 | 老王(javacn666) 这部视频的录制.剪辑.做 PPT.写文稿大约花费了 5 个小时的时间,希望这种形式能被更多的人喜欢,希望这篇文章会给你带来更多的价值 ...
- Redis的主从复制与高可用搭建(哨兵模式)
前言 为什么要使用Redis 首先我们先介绍些redis的基本概念,redis是Nosql数据库,是一个key-value存储系统.虽然redis是key-value的存储系统,但是redis支持的v ...
- 带哨兵节点的链_深入学习Redis高可用架构:哨兵原理及实践
原标题:深入学习Redis高可用架构:哨兵原理及实践 " 在上篇文章<深入学习 Redis 高可用的基石:主从复制>中曾提到,Redis 主从复制的作用有数据热备.负载均衡.故障 ...
- 云信私有化方案中如何搭建高可用的日志和监控平台?
导读 云信公有云系列产品已经稳定运行数年,随着企业对信息安全和数据隔离愈加重视,云信产品私有化课题必然成为云信发展过程中一个的重要分支.依赖虚拟化和容器技术的日臻成熟,云信业务系统已经全面完成私有化, ...
最新文章
- 初识Hadoop:大数据与Hadoop概述
- AngularJs-指令和指令之间的交互(动感超人)
- win2008支持mysql asp.net_Win7、win2008中让IIS7支持asp的方法
- php的$符的作用,PHP引用符的用法举例
- npm i 报错 'match' of undefined 错误以及删除node_modules失败
- 简单的Flash网络游戏源代码
- iOS关于上传iTunes store一直卡住终极解决方案
- IDEA常用快捷键总结(附导入其他IDE快捷键)
- A按键控制LED状态
- flink 一次job卡deploying故障解决
- TextView实现左边图片右边文字或 上面图片下面文字
- Android开发提供两个图片和视频的测试url
- win10电脑输入密码就重启,进入无限重启状态详细解决办法
- 机器学习VS深度学习,两者区别在哪里?
- 优秀广告设计作品常用的几大设计思维
- C语言#if、##ifdef、#ifndef的用法详解,C语言条件编译详解
- Linux 源码分析 之 raw socket 分析 一 recvfrom过程
- FFMPEG 最简滤镜filter使用实例(实现视频缩放,裁剪,水印等)
- android 中Service跳转到Activity
- windows cmd导出电脑已经连过的wifi密码
热门文章
- POJ--2449--Remmarguts#39; Date【dijkstra_heap+A*】第K短路
- 新建Eclipse的web工程目录结构和MyEclipse相似的设置
- javascript代码解释执行过程
- Visual Studio 2005中C++的变化
- 基于Axis服务端的webservice客户端实现
- 文件上传下载—servlet API实现
- Waiting for table metadata lock
- cpu核心数的线程数
- Linux 实例常用内核网络参数介绍与常见问题处理
- 在html页面提交值到动态页面时出现中文值为乱码的解决方案