# 同城三中心架构（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。
