馆里的每个角色,都对应一个真实存在的组件。把架构名词翻译成「人的动作」,比读文档好懂太多。 下面是这四位,以及他们各自守的那条规矩。
下面这份演示按平凯数据库官方文档里描述的调度机制运行,每一步都能在文档里找到出处。 点按钮、点格子,它会一步步算给你看。
现在是三座分馆、8 个 Region、每个 Region 三副本。点最左边那个按钮。
六个镜头由图生视频生成:先按角色定稿图出每镜首帧,再让视频模型动起来。 左右拖动这条长卷,点开看大图。
这不是一张示意图,是一份能跑的小模拟。它按平凯数据库官方文档里描述的调度机制运行, 每一步都能在文档里找到出处。你可以反复点,看它每次怎么算、怎么搬。
数据以 Region 为单位存储,每个 Region 保存一个键区间,数据量默认维持在 256 MiB 左右。每个 Region 自动维护 三副本,落在不同节点上, 组成一个 Raft Group——这就是图上每个编号出现三次的原因。
调度的基本操作只有三个:增加一个副本、删除一个副本、 迁移 Leader 角色。这三个动作由 Raft 协议的 AddReplica、 RemoveReplica、TransferLeader 三条命令支撑。搬家这件事,全靠它们组合出来。
注意看顺序:先在目标分馆把新副本建起来、等它把数据追平,再删掉源分馆的旧副本。 反过来先删后加,数据就只剩两份了。整个过程三副本始终在线,读写不受影响。
PD 通过心跳包收集每个节点的状态和每个 Region 的信息,据此生成调度计划, 再通过心跳回复把操作建议下发给 Region Leader。文档写得很清楚: 这只是建议,具体执不执行、什么时候执行,由 Region Leader 根据自身状态决定。