DrawSystem Design
DSD
Home
Theory
Problems
Pricing
Releases
Search...
⌘
K
or
/
Loading...
Loading...
What To Answer In System Design
Fundamentals
Trade-offs in System Design
Tips for Designing Systems
Golden Rules
Master Template to Design Systems
Top 6 Must Know Protocols
Architectural Patterns
Common Patterns
System Design Patterns
Software Design Patterns
Scaling Reads
Scaling Writes
CAP Theorem
How to Handle Network Failures?
Failure Scenarios in Production Systems
Eventual vs Strong Consistency
SQL vs NoSQL Databases
ACID vs BASE Consistency
B-tree vs LSM-tree Index
Throttling vs Rate Limiting
Throttling and Backpressure
API Design Patterns
API Gateway Design
Consistent Hashing
Authentication Methodologies
How to securely store and validate passwords in your database?
How OAuth Works?
OAuth vs JWT Authentication
Cache Eviction Policies
Cache Write Policies
Why is Redis so fast?
What is a Content Delivery Network or CDN?
How To Get Real Time Updates In Web Applications?
Server Sent Events (SSE)
Monolithic vs Microservices Architecture
Row vs Column Oriented Storage
Circuit Breaker Pattern
Service Discovery in Distributed Systems
Real-Time Analytics
Distributed Logging and Monitoring
Distributed Session Management
Load Balancing Algorithms
Data Partitioning vs Sharding
Database Sharding Strategies
Database Connection Pooling
Rate Limiting Algorithms
Idempotency in Distributed Systems
Batch vs Stream Processing
When to use Message Queue in Your System
Why use Kafka?
Pub/Sub
Pub-Sub vs Message Queues
Kafka vs RabbitMQ
How Uber finds the nearest driver?
What’s the difference between Forward Proxy and Reverse Proxy?
Why use Zookeeper?
Why Stream Processing Gets Hard (and How Flink Helps)
How to handle large file uploads ?
Why is Cassandra so fast for Writes?
How to scale Kafka?
How Elasticsearch Makes Search Fast?
DNS Record you should know
CI/CD Pipelines
Master Template to Design Systems
A step-by-step guide to design System
Loading...
Akhil Singh Chauhan
Creator