← All roadmapsView interactive roadmap on roadmap.sh
System Design Roadmap
Everything you need to know about designing large-scale systems in @currentYear@
0%
0 done0 learning0 target
Your learning path
Introduction
Introduction
What is System Design?
How to approach System Design?
Performance vs Scalability
Performance vs Scalability
Latency vs Throughput
Latency vs Throughput
Availability vs Consistency
Availability vs Consistency
CAP Theorem
CAP Theorem
Consistency Patterns
Consistency Patterns
Eventual Consistency
Weak Consistency
Strong Consistency
Availability Patterns
Availability Patterns
Fail-Over
Fail-Over
Replication
Replication
Availability in Numbers
Availability in Numbers
Background Jobs
Background Jobs
Event-Driven
Schedule Driven
Returning Results
Returning Results
Domain Name System
Domain Name System
Content Delivery Networks
Content Delivery Networks
Pull CDNs
Push CDNs
Load Balancers
Load Balancers
LB vs Reverse Proxy
Load Balancing Algorithms
Layer 7 Load Balancing
Layer 4 Load Balancing
Horizontal Scaling
Application Layer
Application Layer
Service Discovery
Microservices
Microservices
Databases
Databases
SQL vs NoSQL
Replication
Replication
Sharding
Sharding
Federation
Federation
Denormalization
Denormalization
SQL Tuning
SQL Tuning
Key-Value Store
Key-Value Store
Document Store
Document Store
Wide Column Store
Wide Column Store
Graph Databases
Graph Databases
Caching
Caching
Refresh Ahead
Refresh Ahead
Write-behind
Write-behind
Write-through
Write-through
Cache Aside
Cache Aside
Client Caching
Client Caching
CDN Caching
CDN Caching
Web Server Caching
Web Server Caching
Database Caching
Database Caching
Application Caching
Application Caching
Asynchronism
Asynchronism
Task Queues
Message Queues
Back Pressure
Idempotent Operations
Idempotent Operations
Communication
Communication
UDP
HTTP
HTTP
TCP
TCP
RPC
RPC
REST
REST
gRPC
gRPC
GraphQL
GraphQL
Performance Antipatterns
Performance Antipatterns
Busy Database
Busy Database
Busy Frontend
Busy Frontend
Chatty I/O
Chatty I/O
Extraneous Fetching
Extraneous Fetching
Improper Instantiation
Improper Instantiation
Monolithic Persistence
Monolithic Persistence
No Caching
No Caching
Noisy Neighbor
Noisy Neighbor
Retry Storm
Retry Storm
Synchronous I/O
Synchronous I/O
Monitoring
Monitoring
Security Monitoring
Health Monitoring
Availability Monitoring
Performance Monitoring
Usage Monitoring
Instrumentation
Visualization & Alerts
Cloud Design Patterns
Cloud Design Patterns
Messaging
Messaging
Sequential Convoy
Sequential Convoy
Scheduling Agent Supervisor
Scheduling Agent Supervisor
Queue-Based Load Leveling
Queue-Based Load Leveling
Publisher/Subscriber
Publisher/Subscriber
Priority Queue
Priority Queue
Pipes and Filters
Pipes and Filters
Competing Consumers
Competing Consumers
Choreography
Choreography
Claim Check
Claim Check
Async Request Reply
Async Request Reply
Data Management
Data Management
Valet Key
Valet Key
Static Content Hosting
Static Content Hosting
Sharding
Sharding
Materialized View
Materialized View
Index Table
Index Table
Event Sourcing
Event Sourcing
CQRS
CQRS
Cache-Aside
Cache-Aside
Design & Implementation
Design & Implementation
Strangler Fig
Strangler Fig
Static Content Hosting
Static Content Hosting
Sidecar
Sidecar
Pipes & Filters
Pipes & Filters
Leader Election
Leader Election
Gateway Routing
Gateway Routing
Gateway Offloading
Gateway Offloading
Gateway Aggregation
Gateway Aggregation
External Config Store
External Config Store
Compute Resource Consolidation
Compute Resource Consolidation
CQRS
CQRS
Backends for Frontend
Backends for Frontend
Anti-Corruption Layer
Anti-Corruption Layer
Ambassador
Ambassador
Reliability Patterns
Reliability Patterns
Availability
Availability
Deployment Stamps
Deployment Stamps
Geodes
Geodes
Health Endpoint Monitoring
Health Endpoint Monitoring
Queue-Based Load Leveling
Queue-Based Load Leveling
Throttling
Throttling
High Availability
High Availability
Deployment Stamps
Deployment Stamps
Geodes
Geodes
Health Endpoint Monitoring
Health Endpoint Monitoring
Bulkhead
Bulkhead
Circuit Breaker
Circuit Breaker
Resiliency
Resiliency
Bulkhead
Bulkhead
Circuit Breaker
Circuit Breaker
Compensating Transaction
Compensating Transaction
Health Endpoint Monitoring
Health Endpoint Monitoring
Leader Election
Leader Election
Queue-Based Load Leveling
Queue-Based Load Leveling
Retry
Retry
Scheduler Agent Supervisor
Scheduler Agent Supervisor
Security
Security
Federated Identity
Federated Identity
Gatekeeper
Gatekeeper
Valet Key