← Back to System Design overview
System Design tutorials
63 articles · page 2 of 4Hand-written tutorials, ordered as a recommended learning path.
- 21 Proximity Service Design a proximity service like Google Maps nearby search — geohashing, quadtrees, spatial indexing, and scaling location-based queries to millions of users.
- 22 Unique ID Generator Design a distributed unique ID generator — compare UUIDs, Snowflake IDs, database tickets, and ULID for generating globally unique, sortable identifiers at scale.
- 23 Web Crawler Design a web crawler like Googlebot — URL frontier, politeness, deduplication, distributed architecture, and strategies for crawling billions of pages.
- 24 Monolith vs Microservices Compare monolithic and microservices architectures with real decision criteria, migration patterns, and code examples to help you choose the right approach for your project.
- 25 API Gateway Design an API gateway that handles routing, authentication, rate limiting, and protocol translation. Covers plugin architecture, request pipelines, and scaling strategies.
- 26 CDN Design a CDN that serves static and dynamic content from edge locations worldwide. Covers caching tiers, cache invalidation, origin shielding, and anycast routing.
- 27 Collaborative Editor Design a real-time collaborative editor like Google Docs. Covers conflict resolution with CRDTs and OT, presence awareness, cursor synchronization, and offline editing support.
- 28 Distributed Logging Design a centralized logging system like the ELK stack. Covers log collection, structured ingestion, indexing, retention policies, and querying terabytes of logs efficiently.
- 29 Task Scheduler Design a distributed task scheduler that handles delayed, periodic, and one-off jobs at scale. Covers sharding, time wheels, exactly-once execution, and failure recovery.
- 30 DNS System Design a scalable Domain Name System. Covers recursive and authoritative resolution, zone file management, caching, anycast deployment, and handling billions of lookups daily.
- 31 E-Commerce Checkout Design a checkout system that handles cart management, inventory reservation, payment orchestration, and order fulfillment. Covers saga patterns and consistency under high load.
- 32 Feature Flag Service Design a feature flag service for safe rollouts and experimentation. Covers flag evaluation, targeting rules, percentage rollouts, real-time propagation, and audit trails.
- 33 Metrics Pipeline Design a time-series metrics pipeline like Prometheus or Datadog. Covers pull vs. push collection, aggregation, downsampling, storage engines, and alerting at scale.
- 34 Object Storage Design an object storage system like Amazon S3. Covers metadata management, data placement, erasure coding, consistency models, and multi-tenant isolation at petabyte scale.
- 35 Webhook Delivery Design a reliable webhook delivery system. Covers event ingestion, at-least-once delivery, retry strategies with exponential backoff, payload signing, and dead letter queues.
- 36 Backpressure Strategies Learn how backpressure prevents overload in distributed systems. Covers load shedding, rate limiting, buffering, and flow control patterns with examples.
- 37 Bloom Filters Learn how Bloom filters work, why they use multiple hash functions, and where to apply them in caching, databases, and distributed systems.
- 38 Circuit Breaker Learn the circuit breaker pattern to prevent cascading failures in distributed systems. Covers states, configuration, and implementation with code examples.
- 39 Connection Pooling Learn how connection pooling reduces overhead, compare pool sizing strategies, and configure pools for databases, HTTP, and gRPC in production systems.
- 40 Consistent Hashing Deep Dive Go beyond basic consistent hashing. Learn how virtual nodes solve imbalance, how rebalancing works during scale events, and real-world usage in Cassandra and DynamoDB.