System Design Fables
563 fables across 71 principles
Choose a Concept
71 principles, 563 fables
Ambassador Pattern
7
Backpressure
8
Bloom Filters
10
Blue-Green Deployment
2
Bulkheads and Isolation
12
Caching
9
Canary Releases
10
Capacity Planning
10
Cascading Failures
9
Chaos Engineering / Antifragility
8
Checkpoint/Restart
10
Circuit Breakers
4
Compensating Transactions (Saga Pattern)
5
Conflict-Free Replicated Data Types (CRDTs)
9
Connection Pooling
7
Consistent Hashing
6
Consistent Reads
5
Data Locality
3
Dead Letter Queues
8
Error Budgets
10
Eventual Consistency
10
Fail-Fast
10
Feature Flags
10
Feedback Loops
10
Fencing
10
Gossip Protocol
10
Graceful Degradation
10
Health Checks
10
Heartbeats
5
Hot/Cold Data
4
Idempotency
9
Immutable Infrastructure
10
Jitter
10
Leader Election
9
Lease-Based Locking
6
Load Shedding
12
Merkle Trees
9
Miscellaneous: Audit Trails
3
Miscellaneous: Batching
1
Miscellaneous: Debouncing
6
Miscellaneous: Eager Loading
1
Miscellaneous: Graceful Shutdown
1
Miscellaneous: Lazy Loading
7
Miscellaneous: Priority Queues
3
Miscellaneous: Single Source of Truth
1
Miscellaneous: Speculative Execution / Hedged Requests
1
Miscellaneous: Work Stealing
6
Observability
10
Optimistic Locking
10
Pessimistic Locking
9
Poison Message Handling
10
Quorum
10
Rate Limiting
12
Read Replicas
10
Request Coalescing
10
Retry with Exponential Backoff
10
Self-Healing
10
Service Discovery
3
Sharding
8
Sidecar Pattern
10
Single Points of Failure
10
Split Brain Prevention
10
Strangler Pattern
10
Thundering Herd Prevention
10
Tight vs. Loose Coupling
10
Timeouts and Recovery
10
Tombstones (Soft Deletes)
5
Two-Phase Commit
10
Vector Clocks
10
Versioning and Backwards Compatibility
10
Write-Ahead Logging
10