Redis学习笔记之集群收缩

集群伸缩

伸缩原理

集群伸缩原理

扩容集群

扩 容 集 群 { 准 备 新 节 点 加 入 集 群 迁 移 槽 跟 数 据 扩容集群 \begin{cases} 准备新节点& \\ 加入集群&\\ 迁移槽跟数据 \end{cases}

准备新节点:

  • 集群模式
  • 配置与其他节点统一
  • 启动后是孤儿节点
    准备新节点

加入集群:

127.0.0.1:6379 >cluster meet 127.0.0.1:6385
也可以用redis-trib.rb来加入集群:redis-trib.rb add-node 127.0.0.1:6386

迁移槽跟数据

槽迁移计划

槽迁移计划

迁移数据:

① 对目标节点发送:cluster setlot {slot} importing {sourceNodeId} 命令让目标节点准备导入槽的数据
②对源节点发送:cluster setlot {slot} migrating {targetNodeId} 命令,让源节点准备迁出槽的数据;
③源节点循环执行:cluster getkeysinslot {slot} {count} 命令,每次获取“count”个属于槽的键;
④在源节点上执行:migrate {targetIp} {targetport} key0 {timeout}命令,把指定key迁移
⑤重复执行③④,直到槽下的所有键跟数据迁移到目标节点
⑥向集群内的所有主节点发送 cluster setlot {slot} node {targetNodeId} 命令,通知槽分配给目标节点;

收缩集群

收缩集群

总结

收缩与扩容的区别:在于在集群中加入/删除一个节点;若加入,将其余节点的槽平均迁移到新的节点;若删除(下线),将要下线的节点的槽迁移到其他节点;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值