集群扩容原理

加入节点

启动
  • 配置和其他节点统一;
meet
  • 为其迁移槽和数据用于扩容;
  • 作为从节点负责故障转移;
迁移 slot 和数据

slot 迁移伴随着键值的迁移,每个 slot 是负责一些键值的;

  • 制定槽迁移计划;
  • 迁移数据;
    • 让目标节点准备导入槽的数据,cluster setslot {slot} importing {sourceNodeId}
    • 让源节点准备迁出槽的数据,cluster setslot {slot} migrating {targetNodeId}
    • 每次获取 count 个属于槽的数据,cluster getkeysinslot {slot} {count}
    • 原节点把指定 key 迁移,migrate {targetIp} {targetPort} key 0 {timeout}
    • 重复执行 3, 4 步直到槽下的所有键数据迁移到目标节点;
    • 向集群内所有主节点发送命令,通知槽分配给目标节点,cluster setslot {slot} {targetNodeId}
  • 添加从节点;

集群伸缩

  • 集群伸缩就是槽和数据在节点之间移动;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值