System Design
Outline27 topics and 120 subtopics mapped. This is the ground the track will cover — the lessons aren't written yet.
- 01
Introduction
2 subtopics- What is System Design?
- How to approach System Design?
- 02
Performance vs Scalability
- 03
Latency vs Throughput
- 04
Availability vs Consistency
1 subtopic- CAP Theorem
- 05
Consistency Patterns
3 subtopics- Weak Consistency
- Eventual Consistency
- Strong Consistency
- 06
Availability Patterns
3 subtopics- Fail-Over
- Replication
- Availability in Numbers
- 07
Background Jobs
3 subtopics- Event-Driven
- Schedule Driven
- Returning Results
- 08
Domain Name System
- 09
Content Delivery Networks
2 subtopics- Push CDNs
- Pull CDNs
- 10
Load Balancers
5 subtopics- LB vs Reverse Proxy
- Load Balancing Algorithms
- Layer 7 Load Balancing
- Layer 4 Load Balancing
- Horizontal Scaling
- 11
Application Layer
2 subtopics- Microservices
- Service Discovery
- 12
Databases
10 subtopics- SQL vs NoSQL
- Replication
- Sharding
- Federation
- Denormalization
- SQL Tuning
- Key-Value Store
- Document Store
- Wide Column Store
- Graph Databases
- 13
Caching
9 subtopics- Refresh Ahead
- Write-behind
- Write-through
- Cache Aside
- Client Caching
- CDN Caching
- Web Server Caching
- Database Caching
- Application Caching
- 14
Asynchronism
3 subtopics- Back Pressure
- Task Queues
- Message Queues
- 15
Idempotent Operations
- 16
Communication
7 subtopics- HTTP
- TCP
- UDP
- RPC
- REST
- gRPC
- GraphQL
- 17
Performance Antipatterns
10 subtopics- Busy Database
- Busy Frontend
- Chatty I/O
- Extraneous Fetching
- Improper Instantiation
- Monolithic Persistence
- No Caching
- Noisy Neighbor
- Retry Storm
- Synchronous I/O
- 18
Monitoring
7 subtopics- Health Monitoring
- Availability Monitoring
- Performance Monitoring
- Security Monitoring
- Usage Monitoring
- Instrumentation
- Visualization & Alerts
- 19
Cloud Design Patterns
- 20
Messaging
10 subtopics- Sequential Convoy
- Scheduling Agent Supervisor
- Queue-Based Load Leveling
- Publisher/Subscriber
- Priority Queue
- Pipes and Filters
- Competing Consumers
- Choreography
- Claim Check
- Async Request Reply
- 21
Data Management
8 subtopics- Valet Key
- Static Content Hosting
- Sharding
- Materialized View
- Index Table
- Event Sourcing
- CQRS
- Cache-Aside
- 22
Design & Implementation
14 subtopics- Strangler Fig
- Static Content Hosting
- Sidecar
- Pipes & Filters
- Leader Election
- Gateway Routing
- Gateway Offloading
- Gateway Aggregation
- External Config Store
- Compute Resource Consolidation
- CQRS
- Backends for Frontend
- Anti-Corruption Layer
- Ambassador
- 23
Reliability Patterns
- 24
Availability
5 subtopics- Deployment Stamps
- Geodes
- Health Endpoint Monitoring
- Queue-Based Load Leveling
- Throttling
- 25
High Availability
5 subtopics- Deployment Stamps
- Geodes
- Health Endpoint Monitoring
- Bulkhead
- Circuit Breaker
- 26
Resiliency
8 subtopics- Bulkhead
- Circuit Breaker
- Compensating Transaction
- Health Endpoint Monitoring
- Leader Election
- Queue-Based Load Leveling
- Retry
- Scheduler Agent Supervisor
- 27
Security
3 subtopics- Federated Identity
- Gatekeeper
- Valet Key
