# 同城三中心架构（B）

+ 特点:
  + 数据副本分布在 3 个数据中心或可用区
  + 同城网络延迟较小
  + 多活特性
  + RTO 较小,RPO 为 0
+ 问题:
  + 写入与读取延迟高
-------------------------------------------------------------
同城三中心架构

特点:
1. 所有的数据副本分布在 3 个数据中心或者可用区。（Raft 倾向于奇数个副本）
2. 同城网络延迟容易达标（小于 1.5 ms）,带宽达到万兆。
3. 各个数据中心都可以提供服务。（多活）
4. 任何一个数据中心失效后,另外两个数据中心会自动发起 leader election,并在合理长的时间内（通常情况 20s 以内）恢复服务,并且不会产生数据丢失,所以,RTO 较小（30 秒）,RPO 为 0。

劣势:
1. 对于写入的场景,所有写入的数据需要同步复制到至少 2 个数据中心,由于 TiDB 写入过程使用两阶段提交,故写入延迟至少需要 2 倍数据中心间的延迟。 
2. 对于读请求来说,如果数据 leader 与发起读取的 TiDB 节点不在同一个数据中心,也会受网络延迟影响。 
3. TiDB 中的每个事务都需要向 PD leader 获取 TSO,当 TiDB 与 PD leader 不在同一个数据中心时,

它上面运行的事务也会因此受网络延迟影响,每个有写入的事务会获取两次 TSO。
