集群

集群简介

集群架构

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

集群作用

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

Redis集群结构设计

数据存储设计

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

集群内部通讯设计

  1. 各个数据库相互通信,保存各个库中槽的编号数据
  2. 一次命中,直接返回
  3. 一次未命中,告知具体位置

cluster集群搭建

cluster配置

  1. 设置加入cluster,成为其中的节点
cluster-enabled yes|no
  1. cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-config-file <filename>
  1. 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-node-timeout <milliseconds>
  1. master连接的slave最小数量
cluster-migration-barrier <count>

cluster节点操作命令

  1. 查看集群节点信息
cluster nodes
  1. 进入一个从节点redis,切换其主节点
cluster replicate <master-id>
  1. 发现一个新节点,新增主节点
cluster meet ip:port
  1. 忽略一个没有solt的节点
cluster forget <id>
  1. 手动故障转移
cluster failover

例子

环境

img

master1:

  1. conf文件添加如下集群配置
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 10000
  1. 复制多个文件
sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf 
sed "s/6379/6381/g" redis-6379.conf > redis-6381.conf   
sed "s/6379/6382/g" redis-6379.conf > redis-6382.conf   
sed "s/6379/6383/g" redis-6379.conf > redis-6383.conf   
sed "s/6379/6384/g" redis-6379.conf > redis-6384.conf   
sed "s/6379/6385/g" redis-6379.conf > redis-6385.conf   
  1. 启动服务器
redis-server /root/redis-6.0.19/conf/redis-6379.conf 

master2

redis-server /root/redis-6.0.19/conf/redis-6380.conf 

master3

redis-server /root/redis-6.0.19/conf/redis-6381.conf 

slave1

redis-server /root/redis-6.0.19/conf/redis-6382.conf 

slave2

redis-server /root/redis-6.0.19/conf/redis-6383.conf 

slave3

redis-server /root/redis-6.0.19/conf/redis-6384.conf 

主命令操作客户端
img

  1. 安装ruby和gem,因为 redis-trib.rb命令基于这两个条件下才可执行
yum install -y ruby

img
2. 创建集群

./redis-cli --cluster create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 --cluster-replicas 1
# 1:代表一个master对应一个slave,如果写2则代表1个master对应2个slave

img

设置与获取数据

master1客户端:

  1. 连接服务端
redis-cli -c

img
slave1客户端:
img

主从下线与主从切换

posted @ 2023-06-07 16:27  小肚腩吖  阅读(10)  评论(0编辑  收藏  举报