redis集群原理(简版)
先来一张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集群原理(简版)相关推荐
- 分布式一致性协议 Gossip 和 Redis 集群原理解析
分布式一致性协议 Gossip 和 Redis 集群原理解析 Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 A ...
- redis 集群搭建_一文轻松搞懂redis集群原理及搭建与使用
转载:https://juejin.im/post/5ad54d76f265da23970759d3 作者:SnailClimb 这里总结一下redis集群的搭建以便日后所需同时也希望能对你有所帮助. ...
- Redis 集群原理,再也不怕面试被问倒
图片来自 Pexels 本文主要围绕如下几个方面介绍集群: 集群简介 集群作用 配置集群 手动.自动故障转移 故障转移原理 本文实现环境: CentOS 7.3 Redis 4.0 Redis 工作目 ...
- java集群解析文件_干货:一文详解Redis集群原理核心内容
集群原理 一个系统建立集群主要需要解决两个问题:数据同步问题和集群容错问题. Naive方案 一个简单粗暴的方案是部署多台一模一样的Redis服务,再用负载均衡来分摊压力以及监控服务状态.这种方案的优 ...
- Redis集群原理与容器化部署集群
1.集群原理简介 1.1.什么是集群?什么是分区? 集群简单的说就是将同一个服务部署在不同的机器上,从而提高服务的横向扩展能力. 分区就是将数据分布在多个实例(服务器)上,让每一个实例都只存储一部分数 ...
- 通过operator部署redis集群(ucloud版)
operator部署有状态的应用会简单很多 github文档:https://github.com/ucloud/redis-cluster-operator#deploy-redis-cluster ...
- 第03课:分布式一致性协议 Gossip 和 Redis 集群原理解析
Redis 是一个开源的.高性能的 Key-Value 数据库.基于 Redis 的分布式缓存已经有很多成功的商业应用,其中就包括阿里 ApsaraDB,阿里 Tair 中的 RDB 引擎,美团 MO ...
- Redis集群运维与核心原理(哨兵选举、集群选举等)剖析
1.Redis集群方案比较 哨兵模式 高可用集群模式 redis集群是一个由多个主从节点群组成的分布式服务器群,它具有复制.高可用和分片特性.Redis集群不需要 sentinel哨兵也能完成节点移除 ...
- 缓存架构设计之——Redis集群搭建
前述 这里我们要基于Docker 安装一个redis集群,主要包含:Redis集群配置,主从复制,集群扩容缩容. 1.Redis集群高级应用 这里安装6个redis,配置如下 Redis节点 IP 端 ...
- Redis进阶-Redis集群 【高可用切换】【cluster-require-full-coverage】集群是否完整才能对外提供服务
文章目录 Pre 需求 :集群不完整仍然需要对外提供服务 验证 Redis Cluster 架构 高可用切换 Code访问测试 继续停掉8006 ,验证集群是否down掉 Pre Redis进阶-Re ...
最新文章
- Google guava cache源码解析1--构建缓存器(2)
- 查看Windows系统里的进程已运行的时间
- 【温故知新】CSS学习笔记(字体样式属性)
- MySQL sql99语法介绍
- ThinkPHP_5对数据库的CURL操作
- matlab圆形器件,计算围绕点+ Matlab的圆形箱
- Siggraph三角网格变形之三维网格拉普拉斯
- zabbix 通过import批量导入新增主机和批量删除旧的主机
- mysql tiqu mssql_mysql数据表如何导入MSSQL中
- InstallSield更新包快速入门文档
- dubbo k8s 服务发现_记一次dubbo服务发现导致的OOM
- Android 来电自动接听
- linux运行海康,海康网络摄像机SDK Linux对接
- [Python从零到壹] 十.网络爬虫之Selenium爬取在线百科知识万字详解(NLP语料构造必备技能)
- McAfee官方卸载工具下载及使用
- 高阶面试官应掌握哪些面试技巧
- 信息安全工程师自学笔记(1)
- CAD中如何等分线段?CAD等分线段教程
- AES16位密钥加密解密
- 从街舞导师王一博.fans机舱生日趴,看“线上应援”新形式