114 System Design Concepts to Get Ahead of 99% of Engineers
Source: LinkedIn post by Neo Kim
Foundational
- Scalability
- Availability
- Reliability
- Latency
- Throughput
- Capacity
Architecture Patterns
- Client-Server
- Microservices
- Monolith
- Event-Driven
- CQRS
- Event Sourcing
- Service Mesh
- Sidecar
- BFF (Backend for Frontend)
- Strangler Pattern
APIs & Communication
- API Design
- REST
- GraphQL
- gRPC
- WebSockets
- WebRTC
- Sync vs Async
- Message Queue
- Pub/Sub
Database
- Database
- SQL vs NoSQL
- Indexing
- Denormalization
- ACID
- BASE
- LSM Trees
- B-Trees
- Merkle Trees
Data Storage & Processing
- Data Lake
- Data Warehouse
- ETL
- Data Pipeline
- Batch Processing
- Stream Processing
- MapReduce
- Materialized View
- Query Optimization
- Full-Text Search
- Time Series
- Vector DB
Data Structures for Scale
- Bloom Filter
- HyperLogLog
Caching
- Caching
- Cache Invalidation
- CDN
- CDN Caching
- Cache Stampede
- Cache Warming
Load & Traffic Management
- Load Balancing
- Rate Limiting
- Load Shedding
- Autoscaling
- Backpressure
- Circuit Breaker
- Bulkhead
- Connection Pooling
Deployment & Release
- Blue-Green
- Canary Release
- Feature Flags
Resilience & Fault Tolerance
- Fault Tolerance
- High Availability
- Retry Logic
- Timeout
- Idempotency
Distributed Systems
- CAP Theorem
- Consistency Models
- Replication
- Partitioning
- Sharding
- Consensus
- Leader Election
Network & Infrastructure
- DNS
- Service Discovery
- API Gateway
Security
- Authentication
- Authorization
- RBAC
- SSO
- Secrets Management
- Encryption
- Checksum
- Erasure Coding
Observability
- Observability
- Logging
- Metrics
- Tracing
- Correlation ID
- Monitoring
- Alerting
Data Compression & Serialization
- Data Compression
- Serialization
- Deserialization
Additional Concepts (16 more)
99-114. (See full breakdown in linked parts below)
Deep dives:
By Neo Kim — nk.systemdesign.one