数据搬迁场景

  1. cluster setslot importing nodeid [slotlist]

命令说明

搬迁目标节点 执行 cluster setslot importing nodeid [slotlist], 将属于属于[slotlist]中的数据从源节点搬迁到目标节点。 该命令触发异步搬迁, 支持多个slot数据同时搬迁, 且并不需要像社区版那样设置importing和migrating状态然后获取key列表等操作

命令参数

  • nodeid 是 srcNode在 cluster nodes 命令中所展示的id
  • slotslist是需要搬迁的slots,例如,现在需要从node A搬迁slot到node B , 那么 node B 是dst node, node A 是src node
  • 注意: 这个nodeid 是srcNode节点的 ,而不是命令接受的节点.*

命令返回

目标节点启动完所有的搬迁子任务后给客户端返回+OK\r\n; 否则返回信息。

工作原理

migrate_command

数据扩容场景

扩容场景中, 新加入的节点可以向多个 master 发送import 命令,一般是让负载大的节点搬迁slot到新节点 migrate_command