课程名称:课程版本(301)+ 3.9.3 Rack Awareness(TiDB 集群的混合部署方案)
学习时长:
9分钟
课程收获:
机架感知是什么,适用于什么场景,掌握 tidb 集群如何做到机架感知
课程内容:
- 什么是机架感知
程序和数据知道自己的位置,针对业务和逻辑上的位置定义
- 为什么要使用机架感知
tidb是分布式数据库,默认情况支持高可用,至少需要三个副本
当事务提交时,当多数副本(至少2个)写入成功时,事务标记为提交成功
当TIKV 集群其中一台服务器,出现问题时,一部分数据副本丢失了,TIDB 仍然对外提供服务,但是这种损坏需要相应的处理方案,来保证数据的高可用性和服务的高可用性
机架感知的方案,可以使PD 识别位置信息,PD 针对位置信息能够明确数据存放的位置
- 怎么激活tidb集群对于机架感知的处理
- pd server 上配置 label
- pd-server set replication.location_label = [“dc”,“zone”,“rack”,“host”]
- 其中dc 是高可用的区域
- 其他的等级名称可以自定义
- tikv 实例 追加 label
- label = {dc = “wuhan”,zone=“zone100”,rack=“rack100”,host=“10.0.100.1”}
- PD 可以通过tikv实例来计算 label 的 分值 来划分 regions (逻辑label 划分)
- pd server 上配置 label
图例中描述了 分值计算的公式,通过副本的Label 和 副本之间的 peer 来计算,识别region 所在的tikv实例的位置
Label 数量 和 tikv 实例数量,会影响分值计算的结果