Distributed systems - consensus & Paxos
Distributed programming lecture