Redis Enterprise集群由部署在数据中心内或跨本地可用性区域延伸的相同节点组成。Redis Enterprise架构由管理路径(如下图1的蓝色层所示)和数据访问路径(如下图1的红色层所示)组成。

  • 管理路径包括集群管理器,代理和用于程序管理的安全REST API / UI。简而言之,集群管理器负责编排集群,放置数据库分片以及检测和缓解故障。代理有助于扩展连接管理。
  • 数据访问路径由主Redis碎片和从属Redis碎片组成。客户端在主分片上执行数据操作。主碎片使用内存复制来维护从碎片,以防止可能导致无法访问主碎片的故障。

图1 Redis企业节点,其中蓝色层代表管理路径,红色图块代表数据访问路径,其中Redis为分片。

Redis Enterprise的高可用性

Redis Enterprise使用内存中复制来维护主副本和从副本。Redis Enterprise带有各种监视程序,可以检测并防止多种故障类型。在诸如节点,网络,进程故障之类的故障导致无法访问主副本的情况下,Redis Enterprise会自动将从副本升级为主副本,并将客户端连接透明地重定向到新的主副本。

除了集群内复制外,Redis Enterprise还具有内置的基于WAN的复制,用于跨多个数据中心的Redis部署。Redis Enterprise中基于WAN的复制机制旨在防止整体数据中心或更大范围的网络故障。

扩展数据库

每个Redis Enterprise群集可以包含多个数据库。在Redis中,数据库表示属于单个应用程序,租户或微服务的数据。Redis Enterprise的构建可将每个集群扩展到100个数据库,以提供灵活高效的多租户模型。

每个数据库可以包含很少或很多Redis分片。分片对Redis应用程序是透明的。数据库中的主分片处理给定键子集的数据操作。每个数据库中的分片数量是可配置的,并且取决于应用程序的吞吐量需求。可以将Redis Enterprise中的数据库重新分片到更多Redis分片中,以扩展吞吐量,同时保持亚毫秒级的延迟。重新分片无需停机。

图2 Redis Enterprise将主副本(M)和从属副本(S)放置在单独的节点,机架和区域中,并使用内存中复制来防止数据出现故障。

在Redis Enterprise中,每个数据库都有一定的RAM配额。配额不能超过节点上可用RAM的限制。但是,使用Redis Enterprise Flash,RAM扩展到本地闪存驱动器(SATA,NVMe SSD等)。数据库的总配额可以同时利用RAM和闪存驱动器。管理员可以选择RAM与闪存的比率,并在数据库生存期内的任何时间进行调整,而无需停机。

使用Flash上​​的Redis,不是将给定碎片的所有键和数据存储在RAM中,而是将访问频率较低的值推送到闪存。如果应用程序需要访问闪存中的值,则Redis Enterprise会自动将值带入RAM。根据所使用的闪存硬件,应用程序在将值从闪存返回到RAM时会遇到稍高的延迟。但是,一旦该值位于RAM中,随后对同一值的访问就会很快。

Redis Enterprise的数据持久性

Redis Enterprise有两个耐用性选项:

  • 基于磁盘的持久性:Redis Enterprise仍在磁盘上维护持久性副本。就像基于磁盘的系统一样,此IO路径也放置在速度较慢且持久的网络连接存储设备上。Redis数据库提供了可调选项来维护此持久副本,并通过频繁的定期写操作一直更新到每个写操作。
  • 基于复制的持久性:Redis Enterprise还维护一个副本(从属碎片)以实现持久性。这种复制的耐用性可防止节点,机架或区域发生故障。与网络连接的存储写操作相比,复制持久性提供了更好的写性能。这意味着在计划外中断下,与磁盘上的持久副本相比,副本更可能是最新的。为了充分利用复制持久性,Redis提供了WAIT命令。WAIT确保写入可以等待确认,直到多个副本确认该写入。这样可以确保在副本上用WAIT确认的写操作是持久的,即使节点着火了也永远不会回到群集上。

Redis概念与架构相关推荐

  1. 带哨兵节点的链_深入学习Redis高可用架构:哨兵原理及实践

    原标题:深入学习Redis高可用架构:哨兵原理及实践 " 在上篇文章<深入学习 Redis 高可用的基石:主从复制>中曾提到,Redis 主从复制的作用有数据热备.负载均衡.故障 ...

  2. 那些年用过的Redis集群架构(含面试解析)

    作者:孤独烟,平安银行资深后端工程师一枚! 引言 今天是2019年2月13号,也就是大年初九,我接到了高中同学刘有码面试失利的消息. 他面试的时候,身份是某知名公司的小码农一枚,却因为不懂自己生产上R ...

  3. ECMA-335(CLI)标准 读书笔记(第一部:概念和架构 第7章)

    上一篇:ECMA-335(CLI)标准 读书笔记(第一部:概念和架构 1~6章) 7.       CLS 7.1   介绍 CLS是一套倾向于提高语言互操作性的一套规则.我们应当遵循这些规则.11章 ...

  4. 教你用 3 台机器搞定一个 Redis 高可用架构

    转载自   教你用 3 台机器搞定一个 Redis 高可用架构 基于内存的 Redis 应该是目前各种 Web 开发业务中最为常用的 key-value 数据库了. 我们经常在业务中用其存储用户登陆态 ...

  5. 架构实战:(一)Redis采用主从架构的原因

    架构实战 (一)Redis采用主从架构的原因 (二) 如果系统的QPS超过10W+,甚至是百万以上的访问,则光是Redis是不够的,但是Redis是整个大型缓存架构中,支撑高并发的架构非常重要的环节. ...

  6. Druid基本概念及架构介绍

    Druid基本概念及架构介绍 学习参考:https://www.apache-druid.cn/ Apache Druid是一个高性能的实时分析型数据库 作者:it_zzy 链接:https://ww ...

  7. Redis高可用架构

    目录 Redis持久化 RDB持久化 AOF持久化 Redis cluster 节点间内部通信原理 分布式寻址算法 Redis cluster主备切换原理 生产环境中redis部署 Redis reh ...

  8. redis相关 主从架构

    redis概述 redis的出现时间并不长,是NoSQL中的一种,基于键-值型的存储,与memcache类似,但是memcache中只是内存的缓存,而redis不仅是内存中的缓存,还提供持久存储,在2 ...

  9. Redis集群架构搭建和原理

    Redis集群架构教程 Redis常见的架构有主从.哨兵.高可用集群,接下来的文章分四章分别介绍linux安装redis.主从架构搭建.哨兵模式搭建.集群架构搭建 第一章 Redis的安装 我的cen ...

最新文章

  1. linux查看流量开源,Linux流量监控工具 - iftop
  2. 最新!2020中国高校毕业生薪资报告出炉
  3. 【idea】Springboot整合jpa
  4. leetcode--笔记——120. 三角形最小路径和
  5. Create React App使用
  6. Web 性能测试-内存泄漏测试方法之chrome内存快照
  7. Linux命令之ifconfig
  8. Unity3d读取.csv文件
  9. spark线性svm支持向量机 小结
  10. sql查询条件为空的另类写法o( ̄▽ ̄)d
  11. c语言if case语句怎么用,这样的case和if一起运用有问题吗?
  12. Python 父类调用子类方法
  13. 软件开发过程与项目管理(9.软件项目配置管理计划)
  14. JAVA 工厂模式计算器
  15. Springboot应用缓存实践之:Ehcache加持
  16. mysql命令报错-bash: mysql: command not found
  17. USRP X310入门
  18. 传感器中的NC引脚和DNC引脚的区别
  19. PostGreSQL语法及高级功能(2022-06-08补充中)
  20. java nio 缓冲区(二)

热门文章

  1. 第0次作业 -- 博客园作业提交方法
  2. JSP中URL路径获取问题
  3. UWP ListView 绑定 单击 选中项 颜色
  4. 怎样查阅电脑最大能够扩充多大的内存
  5. [C++ Primer] 第2章: 变量
  6. [org.hibernate.util.JDBCExceptionReporter] - Cannot load JDBC driver class 'net.
  7. Boost.Bind的基础使用
  8. .NET 内存管理与垃圾回收:实现IDisposable接口和析构函数
  9. 6-5-JSP动作元素
  10. 华为p10 鸿蒙,全面上线!华为鸿蒙新消息传来,这是要彻底替换安卓