Redis——Redis 集群cluster

集群简介

  • 集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果

集群作用

  • 分散单台服务器的访问压力,实现负载均衡
  • 分散单台服务器的存储压力,实现可扩展性
  • 降低单台服务器宕机带来的业务灾难

Redis集群结构设计

数据存储设计

  • 通过算法设计,计算出key应该保存的位置
  • 将所有的存储空间计划切割成16384份,每台主机保存一部分每份代表的是一个存储空间,不是一个key的保存空间
  • 将key按照计算出的结果放到对应的存储空间
  1. key通过hash算法计算出一个值,然后拿这个值%16384

  2. 得到一个数(假如是37)为key的保存位置,然后再存入相应的存储空间位置
    在这里插入图片描述

  3. 假如又增加了一个节点,之前每个节点都会拿出部分槽给新的节点
    在这里插入图片描述

  4. 如果是去除节点,则把被去除节点的槽加入到存在的节点当作

集群内部通讯设计

  • 各个数据库互相通信,保存各个库中槽的编号数据
  1. 客户端发出一个key访问A,通过算法计算出key的存储位置
  2. 如果一次命中,直接返回
  3. 一次未命中,告知具体位置
  4. 一次命中或者两次命中提高数据访问效率
    在这里插入图片描述

cluster集群结构搭建

  • 原生安装(单条命令)
    • 配置服务器(3主3从)
    • 建立通信(Meet)
    • 分槽(Slot)
    • 搭建主从(master-slave)
  • 工具安装(批处理)

Cluster配置

  • 添加节点

    cluster-enabled yes|no

  • cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容

    cluster-config-file

  • 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点

    cluster-node-timeout

  • master连接的slave最小数量

    cluster-migration-barrier

Cluster节点操作命令

  • 查看集群节点信息

    cluster nodes
    
  • 进入一个从节点 redis,切换其主节点

    cluster replicate <master-id>
    
  • 发现一个新节点,新增主节点

    cluster meet ip:port
    
  • 忽略一个没有solt的节点

    cluster forget <id>
    
  • 手动故障转移

    cluster failover
    
首先清空之前的数据
[root@maomao ~]# cd /usr/local/redis/data/
[root@maomao data]# ls
appendonly-6379.aof  dump-6379.rdb  dump.rdb
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值