linux企业实战 --Redis的cluster集群

1. 基础概念

1.1 节点

  • Redis Cluster是分布式架构:即Redis Cluster中有多个节点,每个节点都负责进行数据读写操作。每个节点之间会进行通信
  • meet操作节点之间会相互通信
  • meet操作是节点之间完成相互通信的基础,meet操作有一定的频率和规则

1.2 分配槽

  • 把16384个槽平均分配给节点进行管理,每个节点只能对自己负责的槽I进行读写操作
    由于每个节点之间都彼此通信,每个节点都知道另外节点负责管理的槽范围。
  • 客户端访问任意节点时,对数据key按照CRC16规则进行hash运算,然后对运算结果对16383进行取作,如果余数在当前访问的节点管理的槽范围内,则直接返回对应的数据如果不在当前节点负责管理的槽范围内,则会告诉客户端去哪个节点获取数据,由客户端去正确的节点获取数据

2. 高可用redis cluster集群

2.1 集群

步骤一:检查6379端口是否关闭
linux企业实战 --Redis的cluster集群

步骤二:在server1上创建 6个Redis 节点,并编写配置文件
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

步骤三:重启服务,在进程查看节点是否开启成功
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群
linux企业实战 --Redis的cluster集群

步骤四:将7001中的配置文件拷贝只7002-7006中
linux企业实战 --Redis的cluster集群

步骤五:进入7002-7006目录中,编写 redis.conf 文件,重启服务
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

步骤六:查看6个节点是否开启成功 ps aux
linux企业实战 --Redis的cluster集群

步骤七:测试集群是否可用
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

2.2 搭建集群

在server1上创建redis-cluster集群
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

开始建立
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

查看
linux企业实战 --Redis的cluster集群

测试1:set 后存储位置
linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群

测试2:将7002关掉

此时get name为7006提供
linux企业实战 --Redis的cluster集群

若将7006也关闭,此时 get 不到数据!!!
linux企业实战 --Redis的cluster集群

恢复集群

linux企业实战 --Redis的cluster集群linux企业实战 --Redis的cluster集群
linux企业实战 --Redis的cluster集群
恢复7002和7006,并且7006成为主
linux企业实战 --Redis的cluster集群

3. 添加新的节点