开源键值对存储数据库Redis在4月1日发布了3.0.0版。主要新特性包括:Redis Cluster,Redis子集的分布式实现;新的“嵌套字符串”对象编码减少缓存遗漏,大幅提高某些工作负荷的速度;等等。开发者Salvatore Sanfilippo表示,Redis 3.0.0是第一个原生支持集群的稳定版本,可能需要1到2年才能成熟,它对Redis生态系统具有重要意义,Redis Cluster将向用户提供某种程度的自动伸缩和容错能力,将改变用户看待Redis的方式。

集群简介


Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。

Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的性能, 并导致不可预测的行为。

Redis 集群通过分区(partition)来提供一定程度的可用性(availability): 即使集群中有一部分节点失效或者无法进行通讯, 集群也可以继续处理命令请求。

Redis 集群提供了以下两个好处:

  • 将数据自动切分(split)到多个节点的能力。

  • 当集群中的一部分节点失效或者无法进行通讯时, 仍然可以继续处理命令请求的能力。

Redis 集群的现状


目前redis支持的cluster特性:

1) 节点自动发现

2) slave->master 选举,集群容错

3) Hot resharding:在线分片

4) 集群管理:cluster xxx

5) 基于配置(nodes-port.conf)的集群管理

6) ASK 转向/MOVED 转向机制

Redis 集群的架构


redis-cluster架构图

架构细节:

1) 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。

2) 节点的fail是通过集群中超过半数的节点检测失效时才生效。

3) 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。

4) redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value。

redis-cluster选举:容错

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状态。

ps:当集群不可用时,所有对集群的操作做都不可用,收到((error) CLUSTERDOWN The cluster is down)错误。

参考:

http://redisdoc.com/topic/cluster-tutorial.html

本文转自UltraSQL51CTO博客,原文链接:http://blog.51cto.com/ultrasql/1658981 ,如需转载请自行联系原作者

Redis 集群介绍相关推荐

  1. redis集群介绍和搭建 (3个主机,6个实例)

    ·redis集群 Redis集群是一个提供在多个redis节点间共享数据的程序集. Redis Cluster模式是Redis3.0之后推荐的一种解决方案,其是由多个主节点群组成的分布式服务器群,它具 ...

  2. redis集群介绍与搭建

    目录 1.主从模式(master-slave) 1.1 搭建方式 1.2 测试主从模式 1.3 其他配置 1.4 主从模式的缺点 2. sentinel (哨兵)模式 2.1 搭建方式 2.2 测试s ...

  3. redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展...

    21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键 ...

  4. mac os 开启redis_高并发大流量,总会想到它!来一起通过docker搭建redis集群

    现在一般的项目都会用到redis做缓存,也不免有老铁没用过,我就一起说下吧. redis 官网 https://redis.io/ Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库.缓 ...

  5. Redis(持久化、主从复制、主从切换、twemproxy、redis集群)

    文章目录 Redis Redis应用场景 下载及安装 Redis常用指令 Redis持久化 Redis主从复制 Redis的Sentinel分布式系统(主从切换) sentnel(Redis的高可用方 ...

  6. 一文让你搞懂什么是Redis集群

    Redis 集群 在Redis3.0以上的版本,redis为我们提供了集群功能. Redis 集群的目标 Redis 集群是 Redis 的一个分布式实现,主要是为了实现以下这些目标(按在设计中的重要 ...

  7. 【redis】闲得无聊,来聊聊当下爆火的 redis集群,顺便搭一个玩玩呗

    愿打开此篇对你有所帮助. 文章目录 接上一篇:中心化与去中心化 redis集群介绍 redis集群的数据分片 Redis 集群的主从复制模型 Redis 一致性保证 redis集群搭建 前期准备 集群 ...

  8. NoSQL(3) 之Redis主从复制、哨兵和集群介绍及详细搭建步骤

    文章目录 一.主从复制 1.1 主从复制的概念 1.2 主从复制的作用 1.3 主从复制的流程 1.4 部署Redis 主从复制步骤 1)首先要搭建redis,在之前的博客写过, 具体可参考:NoSQ ...

  9. REDIS缓存集群介绍

    本次介绍redis缓存集群,目前是为了解决session共享的问题(这里只说如何配置集群),当然它可以解决更麻烦的问题,只是目前还用不到.redis缓存集群是比较实用的技能,布置方式要根据自己的实际需 ...

最新文章

  1. 对话国际农民丰收节贸易会-林育庆:菲律宾谋定中国农业
  2. 厦门大学计算机考研怎么样6,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  3. 互联网和大数据是什么意思_大数据和互联网的区别是什么意思
  4. 花书+吴恩达深度学习(七)优化方法之基本算法(Momentum, Nesterov, AdaGrad, RMSProp, Adam)
  5. 程序员必备的8个学习工具
  6. 计算机在酒店与应用中的展望,对酒店计算机信息管理系统的分析与展望
  7. 频谱分析仪的作用是什么?TFN FAT811手持式频谱分析仪
  8. 增加设备分类号之后,设备名称SOM聚类前九个子类
  9. FPGA驱动RGB灯带WS2812B
  10. 团队管理者是团队凝聚力的维系者。
  11. 面试从int数据类型引发的一场血案,请问这真的只是基础吗?
  12. shell脚本编程基础(一)
  13. c语言函数fun的正确调用语句,c语言的问题若有以下调用语句,则不正确的fun函数的首部是?...
  14. 如何使用极速PDF将文档以图片格式导出?
  15. php时间戳,PHP时间戳的实例讲解
  16. 图像压缩编码和解码原理
  17. 移动机器人——运动模型
  18. 9月编程排行榜新鲜出炉!霸榜还得是它!
  19. 云南省2021年高考成绩查询时间,2021年云南高考成绩查询时间安排 什么时候出分...
  20. 观展邀请 | 京东众智参展北京国际人工智能展览会

热门文章

  1. C#实现打印与打印预览功能
  2. OpenCV探索之路(八):重映射与仿射变换
  3. Android 之窗口小部件高级篇--App Widget 之 RemoteViews - 跨到对岸去
  4. [置顶] 我的程序员之路(4)---C语言课程设计
  5. 为什么本地sqlservr.exe进程占用内存如此之大?
  6. 老板必读:如何找到靠谱活好的人才?
  7. 美团点评数据产品专家冷戈:如何利用数据提高用户体验
  8. adas--智能驾驶辅助系统
  9. 区块链,使用 Go-Ethereum 搭建以太坊私有链
  10. 《中国人工智能学会通讯》——2.31 跨环境抽象(Abstracting Across Environments)