先来一张redis集群的架构图:

    

   在这个图中,每一个蓝色的圈都代表着一个redis的服务器节点。它们任何两个节点之间都是相互连通的。客户端可以与任何一个节点相连接,然后就可以访问集群中的任何一个节点。对其进行存取和其他操作。

集群的话,是有好多个redis一起工作的,那么,就需要这个集群不是那么容易挂掉,所以呢,理论上就应该给集群中的每个节点至少一个备用的redis服务。这个备用的redis称为从节点(slave)。那么这个集群是如何判断是否有某个节点挂掉了呢?

   首先要说的是,每一个节点都存有这个集群所有主节点以及从节点的信息。

   它们之间通过互相的ping-pong判断是否节点可以连接上。如果有一半以上的节点去ping一个节点的时候没有回应,集群就认为这个节点宕机了,然后去连接它的备用节点。如果某个节点和所有从节点全部挂掉,我们集群就进入faill状态。还有就是如果有一半以上的主节点宕机,那么我们集群同样进入发力了状态。这就是我们的redis的投票机制,具体原理如下图所示:

    

    (1)投票过程是集群中所有master参与,如果半数以上master节点与master节点通信超时(cluster-node-timeout),认为当前master节点挂掉.

    (2):什么时候整个集群不可用(cluster_state:fail)?

    a:如果集群任意master挂掉,且当前master没有slave.集群进入fail状态,也可以理解成集群的slot映射[0-16383]不完整时进入fail状态. ps : redis-3.0.0.rc1加入cluster-require-full-coverage参数,默认关闭,打开集群兼容部分失败.

     b:如果集群超过半数以上master挂掉,无论是否有slave,集群进入fail状态.

redis集群原理(简版)相关推荐

  1. 分布式一致性协议 Gossip 和 Redis 集群原理解析

    分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...

  2. redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用

    转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...

  3. Redis 集群原理,再也不怕面试被问倒

    图片来自 Pexels 本文主要围绕如下几个方面介绍集群: 集群简介 集群作用 配置集群 手动.自动故障转移 故障转移原理 本文实现环境: CentOS 7.3 Redis 4.0 Redis 工作目 ...

  4. java集群解析文件_干货:一文详解Redis集群原理核心内容

    集群原理 一个系统建立集群主要需要解决两个问题:数据同步问题和集群容错问题. Naive方案 一个简单粗暴的方案是部署多台一模一样的Redis服务,再用负载均衡来分摊压力以及监控服务状态.这种方案的优 ...

  5. Redis集群原理与容器化部署集群

    1.集群原理简介 1.1.什么是集群?什么是分区? 集群简单的说就是将同一个服务部署在不同的机器上,从而提高服务的横向扩展能力. 分区就是将数据分布在多个实例(服务器)上,让每一个实例都只存储一部分数 ...

  6. 通过operator部署redis集群(ucloud版)

    operator部署有状态的应用会简单很多 github文档:https://github.com/ucloud/redis-cluster-operator#deploy-redis-cluster ...

  7. 第03课:分布式一致性协议 Gossip 和 Redis 集群原理解析

    Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 ApsaraDB,阿里 Tair 中的 RDB 引擎,美团 MO ...

  8. Redis集群运维与核心原理(哨兵选举、集群选举等)剖析

    1.Redis集群方案比较 哨兵模式 高可用集群模式 redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制.高可用和分片特性.Redis集群不需要 sentinel哨兵也能完成节点移除 ...

  9. 缓存架构设计之——Redis集群搭建

    前述 这里我们要基于Docker 安装一个redis集群,主要包含:Redis集群配置,主从复制,集群扩容缩容. 1.Redis集群高级应用 这里安装6个redis,配置如下 Redis节点 IP 端 ...

  10. Redis进阶-Redis集群 【高可用切换】【cluster-require-full-coverage】集群是否完整才能对外提供服务

    文章目录 Pre 需求 :集群不完整仍然需要对外提供服务 验证 Redis Cluster 架构 高可用切换 Code访问测试 继续停掉8006 ,验证集群是否down掉 Pre Redis进阶-Re ...

最新文章

  1. Google guava cache源码解析1--构建缓存器(2)
  2. 查看Windows系统里的进程已运行的时间
  3. 【温故知新】CSS学习笔记(字体样式属性)
  4. MySQL sql99语法介绍
  5. ThinkPHP_5对数据库的CURL操作
  6. matlab圆形器件,计算围绕点+ Matlab的圆形箱
  7. Siggraph三角网格变形之三维网格拉普拉斯
  8. zabbix 通过import批量导入新增主机和批量删除旧的主机
  9. mysql tiqu mssql_mysql数据表如何导入MSSQL中
  10. InstallSield更新包快速入门文档
  11. dubbo k8s 服务发现_记一次dubbo服务发现导致的OOM
  12. Android 来电自动接听
  13. linux运行海康,海康网络摄像机SDK Linux对接
  14. [Python从零到壹] 十.网络爬虫之Selenium爬取在线百科知识万字详解(NLP语料构造必备技能)
  15. McAfee官方卸载工具下载及使用
  16. 高阶面试官应掌握哪些面试技巧
  17. 信息安全工程师自学笔记(1)
  18. CAD中如何等分线段?CAD等分线段教程
  19. AES16位密钥加密解密
  20. 从街舞导师王一博.fans机舱生日趴,看“线上应援”新形式

热门文章

  1. angularJS与IE8整合简介
  2. 分享76个PHP源码总有一个适合你
  3. 在win10下下载wsl
  4. 一点点矩阵知识1:由一个矩阵理论题目展开的关于矩阵的核(kernel)与像(Image)的讲解。
  5. 美国 GLOBAL DOSSIER全球专利案卷系统使用方法,有图说明
  6. 2021-03-04
  7. 免费下载卫星地图 高清卫星地图软件
  8. JMeter接口测试工具基础 — Badboy工具
  9. DotNetBar2使用实例(引用方法)
  10. 考研经验-东南大学软件学院软件工程(这些基础课和专业课的各种坑和复习技巧你应该知道)