集群简介
集群架构
集群就是使用网络将若干台计算机联通起来,并提供统一的管理方式,使其对外呈现单机的服务效果
集群作用
- 分散单台服务器的访问压力,实现负载均衡
- 分散单台服务器的存储压力,实现可扩展性
- 降低单台服务器宕机带来的业务灾难
Redis集群结构设计
数据存储设计
- 通过算法设计,计算出key应该保存的位置
- 将所有的存储空间计划切割成16384份,每台主机保存一部分
- 每份代表的是一个存储空间,不是一个key的保存空间
- 将key按照计算出的结果放到对应的存储空间
集群内部通讯设计
- 各个数据库相互通信,保存各个库中槽的编号数据
- 一次命中,直接返回
- 一次未命中,告知具体位置
cluster集群搭建
环境

master1:
- conf文件添加如下集群配置
cluster-enabled yes
cluster-config-file nodes-6379.conf
cluster-node-timeout 10000
- 复制多个文件
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
- 启动服务器
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