Redis——集群方案之redis cluster的搭建部署

一.redis的集群之redis cluster的概念

对于Redis集群方案有好多种,基本常用的就是twemproxy,codis,redis cluster这三种解决方案。

本文介绍redis cluster。

上篇博文实现redis的高可用,针对的主要是master宕机的情况,我们发现所有节点的数据都是一样的,那么一旦数据量过大,redis也会存在效率下降的问题,redis3.0版本正式推出后,有效地解决了redis分布式方面的需求,当遇到单机内存,并发,流量等瓶颈时,可以采用Cluster架构方法达到负载均衡的目的。

redis使用中遇到的瓶颈

我们日常在对于redis的使用中,经常会遇到一些问题

  • 1、容量问题,单实例redis内存无法无限扩充,达到32G后就进入了64位世界,性能下降。
  • 2、并发性能问题,redis号称单实例10万并发,但也是有尽头的。

redis-cluster的优势

  • 1、官方推荐,毋庸置疑。

  • 2、去中心化,集群最大可增加1000个节点,性能随节点增加而线性扩展。

  • 3、管理方便,后续可自行增加或摘除节点,移动分槽等等。

  • 4、简单,易上手。

redis-cluster名词介绍

  • 1、master 主节点、
  • 2、slave 从节点
  • 3、slot  哈希槽,一共有16384数据分槽,分布在集群的所有主节点中。

redis-cluster的设计

Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有 节点连接。其redis-cluster架构图如下:

在这里插入图片描述

图中描述的是六个redis实例构成的集群

  • 6379端口为客户端通讯端口
  • 16379端口为集群总线端口

集群内部划分为16384个数据分槽,分布在三个主redis中。

从redis中没有分槽,不会参与集群投票,也不会帮忙加快读取数据,仅仅作为主机的备份。

三个主节点中平均分布着16384数据分槽的三分之一,每个节点中不会存有有重复数据,仅仅有自己的从机帮忙冗余。

其结构特点:

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

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

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

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值