# 数据的读取 Follower Read 

__*Follower Read*__

![`smart`](./student-guide/diagram/FollowerRead_aa_001_2022051.png)
-------------------------------------------------------------
Follower Read 功能能够分担 leader 的读压力, 它的实现方法主要为:

- 当 TiDB server 向某个 follower 节点发出读请求时, follower 询问 leader 节点，以获得当前最新提交的 Raft Log 的序号（commit index）。
- Leader 节点将自身当前的 commit index 告知 follower 节点, 如果 follower 发现目前自己还没有应用这个序号的 Raft Log, 便开始等待。
- 直到 follower 确认本地已经应用到了 leader 刚才发送过来的 commit index 之后, follower 和 leader 确定已经同步, 此时才读取数据返回给 TiDB server。

