课程名称:3.9.3 Rack Awareness(TiDB 集群的混合部署方案)
学习时长:20min
课程收获:
了解 TiDB 集群中的机架感知
课程内容:
1.什么是机架感知
简单来说机架感知就是程序、数据知道自己所在的位置。
2.为什么要机架感知
TiDB是一个分布式数据库系统,默认存在三个数据副本。
当数据发起提交时,多数副本(两个以上)写入成功后,事物即为提交成功。
当其中一个TiKV服务器出现故障时,TiDB集群仍能对外提供服务,称之为高可用。
但当TiKV服务器同时损坏两台,乃至一个IDC,就有可能存在一部分数据同时丢失了两个副本,导致TiDB无法提供服务。
这时就要引入机架感知,让PD知道数据在什么位置,进而让PD知道应该在什么位置最好。
3.在 TIDB 集群里怎么做到机架感知
在PD配置感知层级。感知层级权重 :dc > zone > rack > host (地域、机房、机架、主机)
在TiKV配置层级信息。
当所有TiKV都配置好label参数后,PD就可以感知到数据的分布情况。
从而将数据的不同副本,按label调度到最佳的位置。
例子: