Byte Depth
Explore
Practice
Search
⌘K
High Level Design · Fundamentals
22
Handling Numbers in System Design
Estimation
Back-of-Envelope
Choosing the Right Database
Storage
Scalability
API Design
REST
Versioning
Caching
Redis
Performance
Content Delivery Networks (CDN)
Edge Servers
Performance
Consistency & Isolation in Distributed Systems
Isolation Levels
Quorum
Data Replication & Migration
Change Data Capture
Write-Ahead Log
Database Selection Guide
SQL
NoSQL
Databases
SQL
NoSQL
Distributed Consensus with Paxos
Raft
Distributed Systems
Idempotency in Distributed Systems
Retries
API Design
Kafka
Streaming
Pub-Sub
Load Balancing
Health Checks
Routing Algorithms
Message Queues
Async
Pub-Sub
Microservices vs Monolithic Architecture
Migration
Trade-offs
Networks
HTTP
TCP/IP
Observability in Distributed Systems
Monitoring
Logging
Rate Limiting: System Architecture
Timer Wheel
Cascading Failures
Redis & Memcached
In-Memory
Caching
Scalability: The Basics
Horizontal Scaling
Serverless
Security in Distributed Systems
Authentication
OAuth
System Design Trade-offs
Push vs Pull
CAP Theorem