Follow along with Kleppmann's distributed systems lectures and run the Python exercises locally.
Study a worked solution to the FIFO links over reliable unordered links exercise.
Use as a starting template for your own implementations of Raft, two-phase commit, or eventual consistency.
No requirements file; each exercise directory has its own main.py that runs under any Python 3.
This repo is a personal study notebook by a learner working through a distributed systems course taught by Martin Kleppmann at the University of Cambridge in the 2021 to 2022 academic year. Kleppmann is a well known author on the subject, and the course covers how computers spread across a network coordinate with each other when messages can be lost, delayed, or arrive out of order. The repo is meant to hold the author's own Python implementations and simulations of the exercises from that course. The README starts with a table of the eight course chapters and the topics each one covers, ranging from basic ideas like Remote Procedure Calls and the famous two generals problem, through clocks and event ordering, broadcast protocols, replication, the Raft consensus algorithm, two phase commit, eventual consistency, and ending with case studies including Google's Spanner database. The table is a faithful reproduction of the course outline rather than original commentary. After the course outline there is an exercise index. At the time of writing it contains a single completed exercise, number 4 from chapter 2, on the topic of FIFO links built on top of reliable but unordered links. The directory for that exercise is included in the repo and there is a note saying more exercises will be added as the author works through the course. The README also links to the official course materials: a PDF of the lecture notes, the YouTube playlist of the video lectures, and the course web page on the Cambridge Computer Laboratory site. These links are pointers to the upstream teaching material rather than anything hosted in the repo itself. Running an exercise is straightforward. Each exercise is described as a self contained Python project, so the user changes into its directory and runs python3 main.py. There are no install instructions, no requirements file mentioned, and no tests in the README. The repo has zero stars, is written in Python, and is best read as one student's in progress study log rather than a finished educational resource.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.