scale-in 缩容过程

  1. Leader 迁移
  • 当一个 TiKV 节点被缩容时,它上面的 leader 可能需要迁移到其他节点上。
  • Leader 迁移的过程通常是这样的:
    1. 原 Leader 失去心跳:当 TiKV 节点被缩容时,原 Leader 可能会失去心跳,导致其不再被视为有效的 Leader。
    2. 其他 Follower 进行选举:其他两个 Follower 会开始进行选举,以选出一个新的 Leader。
    3. 选举新 Leader:选举过程中,TiKV 节点会相互通信,通过 Raft 算法选举出一个新的 Leader。
    4. 新 Leader 接管:一旦新 Leader 被选出,它会接管原 Leader 的职责,包括处理客户端请求和复制数据。
  1. 副本补充
  • 在缩容过程中,如果原 Leader 被迁移走,可能会导致某些 Region 的副本数不足。
  • TiKV 集群会自动检测到这种情况,并尝试补充副本。
  • 补充副本的过程通常是这样的:
    1. 检测不足的副本:TiKV 集群会检测到副本数不足的 Region。
    2. 选择一个合适的节点:集群会选择一个合适的节点来作为新的副本。
    3. 复制数据:新的副本会从其他副本中复制数据,以确保数据的一致性。
    4. 维护 Raft 日志:新的副本会维护 Raft 日志,以确保数据的持久性和一致性。
2 个赞