Tags

System Design

Jul 27, 2025 System Design 42 min read

System Design (8): Case Studies — URL Shortener, Chat System, News Feed

Three complete system design walkthroughs — a URL shortener, a real-time chat system, and a news feed — each following the full process from requirements and estimation through high-level design, deep dives, and scaling …

Jul 24, 2025 System Design 30 min read

System Design (7): Data Pipelines — Batch, Stream, and the Lambda Architecture

A practical guide to data pipeline architectures — covering ETL vs ELT, batch processing with Spark, stream processing with Flink, Lambda vs Kappa architectures, Change Data Capture, and a complete real-time analytics …

Jul 22, 2025 System Design 30 min read

System Design (6): Microservices vs Monoliths — The Honest Tradeoff

An honest assessment of monoliths vs microservices — covering the distributed systems tax, service boundary design with DDD, inter-service communication patterns, circuit breakers, service mesh, API gateways, and a …

Jul 19, 2025 System Design 34 min read

System Design (5): Message Queues and Event-Driven Architecture

A practical guide to message queues and event-driven systems — covering Kafka and RabbitMQ architectures, delivery guarantees, event sourcing, CQRS, dead letter queues, backpressure, and a complete order processing …

Jul 17, 2025 System Design 38 min read

System Design (4): Caching — Where to Cache, What to Evict, and When Caching Hurts

A deep dive into caching strategies across every layer of the stack — from CDN to database buffer pools — covering cache-aside, write-through, write-behind patterns, eviction policies, thundering herd mitigation, and …

Jul 15, 2025 System Design 30 min read

System Design (3): API Design — REST, gRPC, GraphQL, and Choosing Wisely

A practical comparison of REST, gRPC, and GraphQL — covering protocol design, real-world trade-offs, rate limiting algorithms, idempotency, and a decision framework for choosing the right API style.

Jul 12, 2025 System Design 28 min read

System Design (2): DNS, CDN, and Load Balancing — The First Three Hops

Every web request begins with DNS resolution, may traverse a CDN edge, and lands on a load balancer before reaching your application. Understanding these three hops is essential to building systems that are fast, …

Jul 10, 2025 System Design 32 min read

System Design (1): Thinking in Systems — Load, Latency, and the Art of Estimation

Learn the foundational skills of system design: back-of-envelope estimation, availability math, SLA definitions, and a repeatable framework for tackling any design problem.