System Design School
Here is something I will note for the course in System Design School, but I haven’t start :)
1. Introduction
1. Basics
Introduction
Template
Core Challenges
Scale System
Study Guide
2. API Design
Intro
Example
Pagination
3. Non-functional Requirements
Requirements
Components
High Availability
Latency
Throughput
4. Resource Estimation
Intro
QPS
Resource Estimation in real world
5. Microservices
Microservices or Monolithic
2. Microservices & Data Flow
1. Synchronous Communication
Microservice communication
Sync Communication Intro
Implementation
Failure Handling
Timeout
Retries
Circuit Breaker
Fallbacks
Service Discovery
2. Asynchronous Communication
1. Async Communication Intro
2. Message Queues
3. Message Queue Patterns
4. Redis-Queue Queue
5. Log-based Message Queue
6. Kafka
3. Scaling Service
1. Horizontal Scaling
1. Computing Environments
2. Web/App | Stateless vs Stateful
3. Web/App | Single vs Scaling
4. Load Balancing
5. Auto Scaling
2. Read Write Seperation
1. Introduction
2. CQRS
3. Caching
1. Intro
2. Patterns
3. Cache-aside
4. Write-through
5. Write-back
6. Cache Eviction
7. Caching TTL
8. Scaling Cache
9. CDN
10. Thundering Herd Problem
4. Data Flow
1. Overview
2. Push and Pull
3. Example in Twitter
4. Data Storage
1. Data Strutures Behind Database
1. Data Structures Behind Database
2. Sorted String Table (SSTable)
3. LSM Tree
4. B-Tree
2. Storage
1. Intro
2. SQL Database
3. NoSQL Database
4. Key-value Database
5. Document Database
6. Full-text Search Database
7. OLTP vs OLAP
8. Blob/Object Storage
9. SQL and NoSQL
5. Scaling Data Storage
1. Data Replication
1. How to scale databases
2. Database Replication
3. Implement
4. Tutorial
5. Change Data Capture
2. Data Partitioning
1. Intro
2. Advanced
3. Consistent Hashing
6. Batch & Stream Processing
1. Batch Processing
Batch Processing
MapReduce
Dataflow Engines
Why to use
2. Stream Processing
Stream Processing
Batch and stream
Lambda Architecture
Kappa Architecture
7. Patterns & Templates
7.1. Patterns
1. A database per microservices
2. Cache, Always
3. CDC + ES
4. Two-Stage Processing
5. Database Optimization
7.2. Template
Design Template
System Design Template Application
Last Updated On February 13, 2025