关于 OceanBase 自动负载均衡与副本迁移机制,以下说法正确的是?

关于 OceanBase 自动负载均衡与副本迁移机制,以下说法正确的是?

A. Unit 的迁移是基于 Root Service 周期性收集的节点负载信息触发的,迁移过程中会阻塞该 Unit 上的读写请求,直到迁移完成。

B. 当某个 OBServer 节点的磁盘使用率超过阈值(默认 95%),Root Service 会自动将该节点上的所有 Unit 全部迁移到其他节点,然后下线该节点。

C. 副本迁移的最小单元是 Partition,Root Service 会根据各节点的负载评分,在不违反分区位置约束(如同 Zone 内副本数限制)的前提下,将高负载节点的分区副本迁往低负载节点。

D. 负载均衡过程中,Root Service 优先迁移主副本,因为主副本承担了所有的读写流量,迁移主副本可以最有效地平衡负载。

  • A 错误 :迁移过程中,OceanBase 支持 在线迁移 ,通过 Paxos 协议同步数据,读写请求可以继续由原 Leader 处理,迁移完成后平滑切换,不会阻塞读写
  • B 错误 :磁盘使用率超过阈值时,Root Service 会优先触发 数据回收 (GC,Garbage Collection)清理过期数据;如果仍未缓解,会逐步迁移部分 Unit ,而不是一次迁移所有 Unit 并直接下线节点,这样会造成集群震荡。
  • C 正确 :分区副本是负载均衡的最小操作单元,所有迁移决策都需满足分区分布策略(如副本数、主副本偏好、Zone 优先等)。
  • D 错误 :负载均衡不会优先迁移主副本 ,因为主副本迁移代价较高(需要选举新 Leader、应用可能感知 IP 变化)。系统会综合评估,优先迁移负载高的副本(包括从副本) ,只有在主副本所在节点负载严重偏高时才会考虑切换主副本。

正确答案是C