This is a series of training courses about writing distributed systems in Go and
Rust. It is maintained by PingCAP for training and/or evaluating students, new
employees, and new contributors to TiDB and TiKV. As such, the courses focus
on subjects relevant to those projects. They are though appropriate for all Go
and Rust programmers — they do not require any knowledge of or interest in
either TiDB or TiKV.
The courses primarily consist of projects (or “labs”) where coding problems are
presented, along with a partial implementation or API description, and a test
suite.
Each course is developed independently, so they vary in their presentation and
their expectations from course-takers. See the individual course documentation
for details.
Training courses
-
Practical Networked Applications in Rust. A series of projects
that incrementally develop a single Rust project from the ground up into a
high-performance, networked, parallel and asynchronous key/value store. Along
the way various real-world and practical Rust development subject matter are
explored and discussed. Knowledge of the subject matter can be considered a
prerequisite to Distributed Systems in Rust. -
Distributed Systems in Rust. Adapted from the MIT 6.824
distributed systems coursework, this course focuses on implementing important
distributed algorithms, including the Raft consensus algorithm. -
Distributed Systems in Go. Distributed systems algorithms in Go.
License
These courses may be freely used and modified for any purpose, under the terms
of each course’s individual license. See the courses for details.