Redis集群模式

1.主从模式,单台服务器即可,无高可用,为1主2从方式
主节点可读写,从节点只读,数据会从主节点同步至从节点
2.cluster模式 3.0以上版本支持
Redis Cluster基本架构:Redis Cluster中有多个主节点,每个主节点都负责进行数据读写操作,并且每个节点之间会进行通信。
保证高可用,每个主节点都至少有一个从节点,当主节点故障,Cluster会按照规则实现主备的高可用性,对于节点来说,有一个配置项:cluster-enabled,即是否以集群模式启动
Redis cluster集群至少需要三个master节点,实现集群高可用需要六台服务器布置节点。
集群架构:

redis cluster是一个去中心化的集群,每个节点都会跟其他节点保持连接,每个节点之间会互相通信。
每个master可以对应多个slave 以保证master挂掉之后新的slave成为主节点而没有salve。

以下以云厂商redis集群架构模式介绍

阿里云redis集群架构
主从模式

高可用架构模式

阿里云通过内部SLB方式对外开放一个redis地址以实现高可用 阿里云 提供 2.8、 4.0、 5.0版本

华为云redis架构
主从版


集群高可用版

云厂商的高可用集群架构模式没有使用官方推荐的集群模式

私有化部署时三种方式 主从模式 官方redis cluster模式 redis sentinel模式
Redis 集群 有几个master节点就会有几个redis地址。
Redis cluster可以使用官方提供的ruby脚本完成部署

Redis sentinel 集群实现高可用
哨兵模式是利用主从架构对master进行监控,当master挂掉之后挑选slave作为master节点

哨兵模式是所有的客户端都通过 sentinel程序获取redis的master服务。

Redis cluster:
优点:
1.可扩展:可线性扩展到 1000 多个节点,节点可动态添加或删除;
2.高可用性:部分节点不可用时,集群仍可用。通过增加 Slave 做 standby 数据副本,能够实现故障自动 failover,节点之间通过 gossip 协议交换状态信息,用投票机制完成 Slave 到 Master 的角色提升;

缺点:
1.节点会因为某些原因发生阻塞(阻塞时间大于 clutser-node-timeout),被判断下线,这种 failover 是没有必要的。
2.数据通过异步复制,不保证数据的强一致性。
3.多个业务使用同一套集群时,无法根据统计区分冷热数据,资源隔离性较差,容易出现相互影响的情况。
4.不支持多数据库空间,单机下的 redis 可以支持到 16 个数据库,集群模式下只能使用 1 个数据库空间,即 db0

Redis Sentinel 哨兵模式:
优点:
1.相比主从版 可以检测master状态
2.可实现master动态转移
3.可以实现一套 Sentinel 监控一组 Redis 数据节点或多组数据节点
缺点:
1.如果是从节点下线了,sentinel是不会对其进行故障转移的,连接从节点的客户端也无法获
2.取到新的可用从节点。
3.不保证数据的强一致性,无法实现动态扩容。

redis集群方式及高可用架构相关推荐

  1. 在Kubernetes集群上部署高可用Harbor镜像仓库

    这里主要介绍使用kubectl部署Harbor镜像仓库到Kubernetes集群中. 使用Helm部署,参考: https://my.oschina.net/u/2306127/blog/181969 ...

  2. etcd集群搭建(高可用)

    一.etcd介绍: ETCD 是一个高可用的分布式键值数据库,可用于服务发现.ETCD 采用 raft 一致性算法,基于 Go 语言实现.etcd作为一个高可用键值存储系统,天生就是为集群化而设计的. ...

  3. k8s和harbor的集成_在Kubernetes集群上部署高可用Harbor镜像仓库

    在Kubernetes集群上部署高可用Harbor镜像仓库 一.Kubernetes上的高可用Harbor方案 首先,我可以肯定给出一个回答:Harbor支持在Kubernetes部署.只不过Harb ...

  4. Redis集群——利用Gearman在Lnmp架构中做MySQL的缓存服务器

    一.概述 Redis的集群主要是使用切片技术来搭建的,简单来说就是把所有KEY分散存放到不同的redis节点上(不要把鸡蛋都放在一个篮子里). 1. 集群基本原理 Redis集群中内置了16384个槽 ...

  5. redis集群方式介绍

    redis单机,redis集群,redis哨兵这三种服务器部署方式对应到spring boot的具体操作就是三个不同的configuration配置类. 单机存在的隐患: ①单点故障 ②容量有限 ③压 ...

  6. Java架构师:单体部署 ->Nginx 集群 -> + Keepalived“高可用”组件 -> + LVS负载均衡

    一.集群阶段开篇概述 1.单体部署 1.1 单台服务器(节点)部署 1.2.多台服务器(节点)部署 集群.分布式.微服务中的各个服务器节点必须互通,必须在同一个局域网(内网要通) 1.3.单体架构的优 ...

  7. 架构师之路 — 部署架构 — 高可用集群 — N+1 高可用模型

    目录 文章目录 目录 前言 高可用集群架构 高可用集群模型模型 N+1 模型 N+1 模型关键技术 单进程多定时器的设计 冗余节点快速切换技术 服务器池多级检测机制 前言 本地是对论文<服务器池 ...

  8. k8s高可用集群_搭建高可用集群(实现方式介绍)---K8S_Google工作笔记0054

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 然后我们来说搭建高可用集群,为什么要搭建高可用集群. 因为,首先我们说master节点是用来管理其 ...

  9. linux集群架构(一),集群概述、高可用配置

    2019独角兽企业重金招聘Python工程师标准>>> linux集群概述 根据功能划分为两大类:高可用和负载均衡 高可用集群通常为两台服务器,一台工作,另外一台作为冗余,当提供服务 ...

最新文章

  1. 国内外最顶级的8款OKR管理工具盘点
  2. 二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation
  3. 设计模式 -- 策略模式
  4. mysql数据万能导入工具下载_mysql数据导入工具下载 - 数据导入工具(EMS Data Export for MySQL) v3.7.0多语特别版下载 - 第九软件网...
  5. linux 常见试题(2)-选择
  6. 牛客网_PAT乙级1008_锤子剪刀布 (20)
  7. Effective Java之将局部变量的作用域最小化(四十五)
  8. 共享内存简介及docker容器的shm设置与修改
  9. java base64编码的三种方式
  10. 用大白话彻底搞懂 HBase RowKey 详细设计!
  11. 模拟猜数(POJ2328)
  12. 解决远程桌面无法全屏的方法
  13. C++11/14的新特性——更简洁
  14. 倒计时 妙味课堂_妙味课堂——JavaScript基础课程笔记
  15. 《崩坏3》评测:游戏设计中整体性和利用率分析(上)
  16. LeetCode初级算法之数组:36 有效数独
  17. sim7600ce 拨号上网测试_SIM7600CE应用程序调试流程
  18. 关于git中,两个branch自动同步的问题和解决
  19. 从现在开始,请务必珍惜你手里的现金
  20. Note for Shell

热门文章

  1. 关闭极域课堂学生端命令
  2. arecord录制音频和aplay播放音频用法说明
  3. LC100-A全功能型电感电容表,电感表,电容表,LC meter
  4. 基于plcsimadvanced实现1500PLC仿真 OUC通讯
  5. Openlayers 圆的操作
  6. java button和jbutton_java – JButton中的组合与继承
  7. SQL高级语句-SQL 通配符-在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。
  8. eyoucms 1.5.5任意命令执行漏洞(0day)
  9. css中下划线,背景和边框的属性
  10. js 批量坐标转换经纬度_JS经纬度坐标转换