← All courses
CS 490 · 4 credits
System Design & Distributed Systems
Grow one small app into a planet-scale system, one bottleneck at a time. Starting from a single server running an app and a database, you will add load balancers, caches, replicas, shards, and queues, learning why each piece exists and what it costs. The course ends with the back-of-envelope method and three full worked interview designs: a URL shortener, a chat app, and a news feed.
Local progress0/29 lessons · 0%
What you'll learn
- ✓Explain how a single-server app works and predict what breaks first as traffic grows
- ✓Choose between vertical and horizontal scaling, and design stateless services behind a load balancer
- ✓Place caches at the right layer and reason about invalidation, TTLs, and hit rates
- ✓Scale a database with indexes, replication, read replicas, and sharding, and weigh SQL against NoSQL honestly
- ✓Use queues, retries, and idempotency keys to make background work reliable
- ✓Reason about consistency tradeoffs using the CAP intuition and quorum reads and writes
- ✓Run the back-of-envelope estimation method and a repeatable framework in a system design interview
- ✓Design a URL shortener, a chat app, and a news feed end to end
Unit 1One Server: Where Every System Starts
Unit 2Scaling Out: Load Balancers and Stateless Services
Unit 3Caching: Answering Without Asking the Database
Unit 4Database Scaling I: Indexes and Replication
Unit 5Database Scaling II: Sharding and the SQL vs NoSQL Question
Unit 6Asynchronous Work: Queues, Workers, and Retries
Unit 7Consistency and the CAP Intuition
Unit 8Microservices vs Monolith, and Observability
Unit 9Estimation and the Interview Method
Unit 10Capstone Designs: Three Full Interviews
Reviews
—
0 ratings
5
0
4
0
3
0
2
0
1
0
- No reviews yet.
Discussion
- No comments yet. Sign in to comment.