redis-cluster

1.redis-cluster结构

哨兵集群redis技术中只能主要负责解决高可用问题,但是实现分布式比较浪费资源,分布式计算比较复杂,需要根据搭建的结构实现不同的分布式hash一致性的重写过程.

redis3.0版本redis出现了最终的结构支持高可用分布式同时存在的 redis-cluster

在这里插入图片描述

2.特性
2.1基础-两两互联
集群中节点与节点.部分角色两两互联,底层内部二进制通信协议,优化传输速度(同步集群先关信息)
2.2哨兵逻辑整合到master
集群中要求最小的master数量是3,将哨兵的进程逻辑整合到master节点中,集群的高可用监听逻辑由master,投票由过半的master决定.因为基础两两互联,master才能实现相互监听管理
2.3客户端连接一个节点获取集群所有信息
客户端基于两两互联,实现从一个节点,获取集群的所有节点的内容(jedisCluster的代码高可用)
2.4槽道实现key和节点的松耦合
hash slot:redis-cluster集群中有新分片计算的逻辑,hash槽,底层计算(key.CRC16()%16384)key值会对应到一个槽道号[0-16383],master可以管理一批不同的槽道,实现key–>slot–>node
槽道使用特性:客户端连接集群任意一个节点,发送处理数据的命令,会计算key值对应的槽道号,找到管理槽道号的节点,进行通知客户端转发redirect

3.首次接触槽道的概念

在这里插入图片描述

redis-cluster的搭建

1.集群搭建的最终结构
在这里插入图片描述

三个主节点,最终各自有一从的cluster高可用分布式结构

2.搭建的环境
初步搭建cluster集群,需要使用ruby的语言编写的脚本redis-trib.rb 在redis根目录src文件夹中;需要配置ruby语言的环境(tomcat运行,需要在jdk环境),镜像中,ruby环境是安装完成的.
[root@10-9-104-184 ~]# ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux]
[root@10-9-104-184 ~]#
如果使用的是自行购买的云主机环境,不需要ruby环境也可以将集群搭建完毕
插入
yum -y install make
yum -y install cmake
yum -y install tcl*
yum -y install gcc

ruby() ruby-gems gem-redis

2.1准备配置文件(过程和我一致,我会提供重启,重搭脚本)
	○ 将模板文件redis.conf拷贝成redis-cluster.conf
	[root@10-9-104-184 redis-3.2.11]# cp redis.conf redis-cluster.conf
	○ 将redis-cluster.conf(6379为端口信息填写配置,后续修改端口)
	之前配置的protected-mode bind daimonize dump logfile都报纸原样
	
		§ 593行/597行配置第二种持久化方式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值