# 同城两中心架构（A）

![left](./student-guide/diagram/29-Two-center-structure-in-the-same-city-01-01.png)
-------------------------------------------------------------
同城两中心架构
primary-replicas :是在主数据中心 Voter 副本的数量。
dr-replicas 是在从数据中心 Voter 副本的数量。
wait-store-timeout 是当出现网络隔离或者故障时,切换到异步复制模式的等待时间。如果超过这个时间还没恢复,则自动切换到异步复制模式。默认时间为 60 秒。

TiDB 在 on-premises 部署的场景下,通常采用多中心部署方案,以保证高可用和容灾能力。多中心部署方案包括两地三中心部署模式、同城三中心部署模式等多种部署模式。本文介绍同城两中心部署方案,即在一座城市部署两个数据中心,成本更低,同样能满足高可用和容灾要求。该部署方案采用自适应同步模式,即 Data Replication Auto Synchronous,简称 DR Auto-Sync。
同城两中心部署方案下,两个数据中心距离在 50 km 以内,通常位于同一个城市或两个相邻城市（例如北京和廊坊）,数据中心间的网络连接延迟小于 1.5 ms,带宽大于 10 Gbps。

特点:
同城网络延迟容易达标（小于 1.5 ms）,带宽达到万兆。
各个中心都可以提供服务。（多活）。
具备状态转换能力。

要求:
PD 上的主中心要打上 Primary 标签,灾备中心打上 DR 标签。
同步复制要求 DR 标签的 TiKV 落地数据。

状态转换:
集群的复制模式可以自动在三种状态之间自适应的切换:
- 当集群一切正常时,会进入同步复制模式来最大化地保障灾备机房的数据完整性。
- 当机房网络断连或灾备机房发生整体故障时,在经过一段提前设置好的保护窗口之后,集群会进入异步复制状态,来保障业务的可用性。
- 当机房网络重连或灾备机房整体恢复之后,灾备机房的 TiKV 节点会重新加入到集群,逐步同步数据并最终转为同步复制模式。

状态转换的细节过程如下:
1. 初始化:集群在初次启动时处于 sync（同步复制）模式,PD 会下发信息给 TiKV,所有 TiKV 节点会严格按照 sync 模式的要求进行工作。