课程名称:课程版本(101/201/301)+ 3.9.1 Data Replicas(数据复制)
学习时长:10min
课程收获:理解 Raft 协议的基本概念,了解 TiDB 中副本操作流程。
课程内容: Raft;TiDB 副本操作
Raft协议
Raft是一个一致性协议
Raft重要的特性:Leader选举;成员变更(增加删除副本,转移learder);日志复制
TiKV使用Raft进行数据复制,每次数据变更都会记录到Raft日志中,读写由leader对外提供,以Raft日志形式分发到follower节点,follower进行跟进处理,数据都安全且准确的同步至Raft group中的多个节点,给客户端反馈已经完成。可以确保数据的安全性和一致性。
当发现某一阶段长期处于落后状态,或落后较多,有learder发生snapshot,不再根据日志根据,提高效率。
TiDB中数据的复制
在现有TiKV的4个节点中添加一个新的节点:
1)将region1的leadership从A节点转移到B节点(要迁移A节点上的region)
2)在新加的E节点上加region1的副本
3)删除节点A上region1的副本