# PD  调度

+ balance-leader
+ hot-region-scheduler
![center](./student-guide/diagram/place-holder.png)



------------------------------------------------------------
PD  调度
PD 调度中， balance-leader 以及 hot-region-scheduler 两类调度器涉及到 Region Leader 的 transfter。前者是 Region 负载均衡调度主要依赖的调度器之一，后者则是热点调度器。

balance-leader 关注 Region 的 Leader，目的是分散处理客户端请求的压力，使 Leader 在各个 Store 节点上分布均衡。在调度时，会使用 Store 上所有 Leader 所对应的 Region Size 加和作为得分， v4.0 / v3.0.15 之后也提供根据 leader 的 count 计算分数作为调度的依据：
1. 根据不同 Store 的对应资源量的情况分别打分
2. 不断从得分较高的 Store 选择 Leader 迁移到得分较低的 Store 上

hot-region-scheduler 从 TiDB v3.0 版本开始，统计热点 Region 的方式为：
3. 根据 Store 上报的信息，统计出持续一段时间读或写流量超过一定阈值的 Region。
4. 用与负载均衡类似的方式把这些 Region 分散开来。
对于写热点，热点调度会同时尝试打散热点 Region 的 Peer 和 Leader；对于读热点，由于只有 Leader 承载读压力，热点调度会尝试将热点 Region 的 Leader 打散。
