Skip to content
Codeloom

← Back to System Design overview

System Design tutorials

63 articles · page 2 of 4

Hand-written tutorials, ordered as a recommended learning path.

  1. 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.
  2. 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.
  3. 23 Web Crawler Design a web crawler like Googlebot — URL frontier, politeness, deduplication, distributed architecture, and strategies for crawling billions of pages.
  4. 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.
  5. 25 API Gateway Design an API gateway that handles routing, authentication, rate limiting, and protocol translation. Covers plugin architecture, request pipelines, and scaling strategies.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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.
  16. 36 Backpressure Strategies Learn how backpressure prevents overload in distributed systems. Covers load shedding, rate limiting, buffering, and flow control patterns with examples.
  17. 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.
  18. 38 Circuit Breaker Learn the circuit breaker pattern to prevent cascading failures in distributed systems. Covers states, configuration, and implementation with code examples.
  19. 39 Connection Pooling Learn how connection pooling reduces overhead, compare pool sizing strategies, and configure pools for databases, HTTP, and gRPC in production systems.
  20. 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.