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 toTiDBandTiKV. 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

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 theMIT 6.824
    distributed systems coursework, this course focuses on implementing important
    distributed algorithms, including theRaftconsensus algorithm.

  • Distributed Systems in Go. Distributed systems algorithms in Go.


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.

Read More


Please enter your comment!
Please enter your name here

This site uses Akismet to reduce spam. Learn how your comment data is processed.