两地三中心部署 tikv 或者pd 不设置label 规则,会出现不好的影响

请问各位老师,tidb 两地三中心部署 tikv 或者pd 不设置label 规则,会出现哪些不好的影响?
https://docs.pingcap.com/zh/tidb/stable/three-data-centers-in-two-cities-deployment#两地三中心部署

2 个赞

我是理解的是,不设置label会导致你的三副本分布到同一个机柜,或者同一个机房,这样就会导致,出问题后,数据会丢失

1 个赞

不设置 lables不好管理副本放置。

首先要tikv打标签
其次设置pd的 ```
replication.location-labels: [“area”,“dc”,“rack”,“host”]


可以通过设置 isolation-level  来规划tikv的放置
也可以通过Placement Rules in SQL  规划副本放置

导致某些主region到远东地方,这样肯恶搞的哦啊之访问延迟

不设置lable的情况下tidb只能保证某个tikv上不会有相同副本,但同一机房内可能有某些region的所有副本或多数副本,只要挂了就不可用了。 另外就是会有大量跨中心的leader访问和 tso请求,延迟是肯定的。

举个例子,假设你采用了两地三中心五副本模式,一共13个TiKV实例按照5:5:3来部署。如果不给TiKV打labels,那么一个Region的5个副本可能全部分布在主中心的5个TiKV实例上,这种情况下如果主中心挂了,那么这个Region的数据丢了,无法保证RPO为0。如果打了labels,PD就能感知到不同数据中心的存在,就可以把Region的5个副本尽可能分散到所有数据中心上,避免单中心故障引起的RPO不为0。

PD打不打labels影响没有这么大,但最好和TiKV的labels保持一致,方便管理