arrow_back
Introduction to Distributed Systems
What are Distributed Systems?
Transparency
Scalability
High Availability
Famous Outages
Fallacies of Distributed Systems
Introduction to Golang
Concurrency in Go
Lab 1
Lab 1 - Solution
Modelling a Distributed System
[Video] Week 1 - Introduction to Distributed Systems
[Video] Week 1 - Modelling Distributed Systems
Faults and Fault-Tolerance
Types of Faults and their Consequences
Failure Models
Model 1: Timing Failure
Model 2: Omission Failure
Model 3: Crash Failure
Model 4: Byzantine Failure
Lab 2
Lab 2 - Solution
[Video] Week 2 - Faults and Fault Tolerance
Time and Order
Understanding Time and Clocks
Sync between multiple nodes
Clock Drift vs Clock Skews
Possible Solution(s) for a Global Clock (NTP vs Berkeley Algorithm)
Logical Clocks
Vector Clocks
Lamport Timestamps
Lab 3
Lab 3 - Solution
[Video] Week 3 - Time
[Video] Week 3 - Clocks
Replication
Replication Strategies
Consistency Models
Primary-Backup Replication
Causal Consistency
Lab 4
Lab 4 - Solution
Partitioning
Partitioning Techniques
CAP Theorem
Sharded Key-Value Service
Lab 5
Lab 5 - Solution
Lab 6
Lab 6 - Solution
Lab 7
Lab 7 - Solution
Consensus
Byzantine Fault-Tolerance
Consensus Algorithms (Paxos, Raft)
Nakamoto Consensus
Raft
Lab 8
Lab 8 - Solution
Lab 9
Lab 9 - Solution
Lab 10
Lab 10 - Solution
Transactions
ACID Properties
Distributed Transactions (2PC, 3PC)
Multi-Partition Transactions
Optimistic Concurrency Control
Lab 11
Lab 11 - Solution
Lab 12
Lab 12 - Solution
Lab 13
Lab 13 - Solution
Gossip Protocols
Gossip-based Communication
Epidemic Protocols
Anti-Entropy and Merkle Trees
Using Gossip Protocols for Failure Detection and Membership Management
CRDTs (Conflict-Free Replicated Data Types)
CRDT Types (Registers, Sets, Maps)
CRDT Properties (Convergence, Commutativity)
Implementing CRDTs in Distributed Systems
Lab 14
Lab 14 - Solution
Real World Systems
MapReduce
GFS (Google File System)
Google Spanner
Frangipani
Zookeeper
CRAQ
Amazon Aurora
Apache Spark
Scaling Memcache at Facebook
Certificate Transparency
Bitcoin
Ethereum
Blockstack
Peer-to-peer, trackerless Bittorrent and DHTs
Labs
Lab 1
Lab 2
Lab 3
Lab 4
Lab 5
Lab 6
Preview - Building A Distributed System: From Theory to Practice
Discuss (
0
)
navigate_before
Previous
Next
navigate_next