设为首页 收藏本站
查看: 1206|回复: 0

[经验分享] Redis 集群介绍

[复制链接]

尚未签到

发表于 2018-11-6 10:26:53 | 显示全部楼层 |阅读模式
  Redis 集群介绍
  
  开源键值对存储数据库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架构图
DSC0000.jpg

  架构细节:
  1) 所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽。
  2) 节点的fail是通过集群中超过半数的节点检测失效时才生效。
  3) 客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可。
  4) redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护nodeslotvalue。
  redis-cluster选举:容错
DSC0001.jpg

  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


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-631427-1-1.html 上篇帖子: Redis三部曲之————生存时间(键设置生存时间) 下篇帖子: redis三部曲之————密码管理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表