redis(集群)

现状问题

redis提供的服务OPS可以达到10万/秒,当前业务OPS已经达到20万/秒
内存单机容量达到256G,当前业务需求内存容量1T
使用集群的方式可以解决问题

集群

集群就是使用网络若干台计算机联通起来,并提供统一的管理的方式。使其对外呈现单机的服务效果;
作用:分散单台服务器的压力,实现负载均衡
分散单台服务器的存储压力,实现可扩展性
降低单台服务器宕机带来的业务灾难

集群内部通讯设计

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

集群搭建

master集群
port 6379
daemonize no
#logfile “6379.log”
dir /redis-4.0.0/data
dbfilename dump-6379.rdb
rdbcompress yes
rdbchecksum yes
save 10 2
appendonly yes
appendfsync always
appendfilename appendonly-6379.aof
bind 127.0.0.1
database 16
cluster-enabled yes #集群j节点开启
cluster-config-file nodes-6379.conf 每个cluster都有自己的启动文件,在不同的目录可以不用 会自动生成记录集群连接点信息
cluster-node-timeout 100000 10s超时就下线
接下来就是实现master连接到一块
第一步:安装ruby ruby-v gem -v
第二步:找到redis trib.rb
执行命令:./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380
replicas 1 表示1个master连1个slave 数量必须为2,4,6这种
127.0.0.1:6379 127.0.0.1:6380 会自动识别 1个为master一个为slave

存放数据

集群客户端命令:redis-cli -c
集群客户端命令:redis-cli -c -p(6379不用)
cluster nodes
从掉线再上线之后还是从
主掉线,上线变为从

cluster配置命令

设置加入Cluster,成为其中的节点

cluster-enabled yes|no

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

cluster-config-file  <filename>

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

cluster-node-timeout <millsecond>

master连接的slave最小数量

cluster-migration-barrier <count>

Cluster节点操作命令

查看集群节点信息:

cluster nodes

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

cluster replicate <master-id>

发现一个新节点,新增主节点

cluster meet ip:port

忽略一个没有solt的节点

cluster forget<id>

手动故障转移

cluster failover
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值