Redis_集群(cluster)

本文介绍了Redis集群的作用,包括分散访问压力、存储压力和降低宕机风险。详细讲解了集群的数据存储设计,每个节点保存部分槽,以及集群内部的通讯机制。接着,展示了如何搭建一个三主三从的Redis集群,涉及配置文件修改、启动服务和使用redis-cli创建集群的步骤。还讨论了在集群中设置和获取数据的方法,以及主从节点下线和切换的处理。
摘要由CSDN通过智能技术生成

简介

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

作用

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

集群结构设计

数据存储设计

  • 将所有的存储空间计划切割成16384份,每台主机保存一部分,每份代表的是一个存储空间,称作槽,不是一个key的保存空间。
  • 将key按照CRC16(key) %16384计算出的结果放到对应的存储空间

集群内部通讯设计

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

Cluster集群结构搭建

现拟搭建一个三主三从集群的例子。

  • 修改配置文件,以其中一个配置文件为例,其他配置文件相应复制修改
[root@localhost conf]# vim redis-6379.conf
port 6379
#如果打印日志就把以下注释掉
#daemonize no
#logfile "6379.log"
#loglevel verbose
dir /redis-5.0.7/data
dbfilename dump-6379.rdb
rdbcompression yes
rdbchecksum yes
stop-writes-on-bgsave-error yes
save 10 2
appendonly yes
appendfsync everysec
appendfilename appendonly-6379.aof
auto-aof-rewrite-min-size 10mb
auto-aof-rewrite-percentage 100
bind 127.0.0.1
databases 16
#maxclients 0
timeout 300
# 添加节点
cluster-enabled yes
# cluster配置文件名,该文件属于自动生成,仅用于快速查找文件并查询文件内容
cluster-config-file node-6379.conf
# 节点服务响应超时时间,用于判定该节点是否下线或切换为从节点
cluster-node-timeout 10000
# master连接的slave最小数量
#cluster-migration-barrier <count>
  • 通过sed命令复制修改其他配置文件
[root@localhost conf]# sed "s/6379/6380/g" redis-6379.conf > redis-6380.conf
...
  • 将三主三从6个redis服务启动
[root@localhost conf]# ps -ef|grep "redis-"
root       6751   6723  0 06:30 pts/0    00:00:00 ./src/redis-server 127.0.0.1:6379 [cluster]
root       6773   6500  0 06:35 pts/1    00:00:00 ./src/redis-server 127.0.0.1:6380 [cluster
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值