2016 年加入 PingCAP,TiKV 项目 Core Team 成员,专注于分布式系统设计和测试, rust-prometheus, grpc-rs 等开源项目维护者。
2016 年加入 PingCAP,TiKV 项目 Core Team 成员,专注于分布式系统设计和测试, rust-prometheus, grpc-rs 等开源项目维护者。
TiDB 作为一个分布式数据库,它面临着两个挑战:如何保证高可用?如何保证正确性?这两点是对分布式强一致数据库的基本要求,却也非常难实现。TiDB 选择了 Raft 一致性算法来保证这两点,结合实践,TiDB 对 Raft 做了诸多改进,比如跨 IDC 优化,Learner;安全的成员变更,joint consensus 等等。随着系统复制度上升,完善的测试必不可少,对于分布式系统更是如此,TiDB 选择了Jepsen 分布式测试框架,通过对系统注入错误,分析其结果是否符合 TiDB 保证的一致性模型。
1. 介绍分布式数据库 TiDB 和一致性算法 Raft;
2. 介绍 TiDB 在实现高可用上对 Raft 算法的一些探索;
3. 介绍如何使用 Jepsen 分布式系统框架测试 TiDB。
1. 了解如何使用 Raft 构建一个高可用分布式系统;
2. 了解 TiDB 针对自身特点对 Raft 的一些优化;
3. 了解如何使用 Jepsen 测试分布式系统;
4. 了解常用的一致性和它们能提供的保证。