redis的集群

1.1中心化和去中心化
意思是所有的节点都要有一个主节点

缺点:中心挂了,服务就挂了
中心处理数据的能力有限,不能把节点性能发挥到最大
特点:就是一个路由作用
在这里插入图片描述
1.2.去中心化
特点:去掉路由,我自己来路由
在这里插入图片描述
以上通俗的就是
中心化:几个经过认证的嘉宾在‘讲话’,所有其他人在听。
去中心化:每个人都可以‘讲话’,每个人都可以选择听或者讲。

2,Redis集群的执行流程分析
2.1,哈希槽说明
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点。

当你往Redis Cluster中加入一个Key时,会根据crc16(key) mod 16384计算这个key应该分布到哪个hash slot中,一个hash slot中会有很多key和value。你可以理解成表的分区,使用单节点时的redis时只有一个表,所有的key都放在这个表里;改用Redis Cluster以后会自动为你生成16384个分区表,你insert数据时会根据上面的简单算法来决定你的key应该存在哪个分区,每个分区里有很多key。

2.2,执行流程分析

假如redis集群里面能存放90个key,那么redis集群把90key平分到3个主机
redis对每个主机里面30个存储位置都编号,当应用连接到主机1上面时,应该发送一个写的命令
主机使用crc16算出槽号
如果槽号在1-30 可以直接操作主机1
如果槽号在31-60那么redis会转发到主机2
如果应该再发一个命令set age 22
那么主机2使用crc16再算槽号再转发

3.redis集群的搭建
3.1.原理:去中心化
3.2.集群规则
在这里插入图片描述
搭建3主3从
在这里插入图片描述
把 /usr/local/redis/bin/redis-server里面的配置文件copy到redis-1.2.3.4.5.6个文件夹中,进入redis/redis-config文件,修改不能主机的端口号,分别为7000,7001,7002,7003,7004,7005端口
在这里插入图片描述
在这里插入图片描述
修改好上面的配置,启动所有的redis,3主3从
在这里插入图片描述
使用docker 下载redis-trib的镜像运行
在这里插入图片描述
在这里插入图片描述
集群搭建完成
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值