Part 2 of 11

Building Blocks

Load balancers, caches, queues, databases, rate limiters.

Modules
16
Hours
7
Difficulty
Intermediate
  1. 2.0intermediate

    Load Balancers: Spreading Traffic, Absorbing Failure

    L4 vs L7 load balancing, algorithms, health checks, and how Envoy, HAProxy, NGINX, and AWS ALB/NLB actually work in production.

    25 min NginxEnvoyHAProxy+2
  2. 2.1intermediate

    Reverse Proxies and API Gateways: The Smart Edge

    TLS termination, routing, auth, rate limiting, and why an API gateway is more than a smarter load balancer.

    30 min NginxEnvoyKong+2
  3. 2.2intermediate

    Content Delivery Networks: Moving Bytes Closer to Users

    How CDNs work, edge caching, cache keys and invalidation, and how Cloudflare, Akamai, and Fastly differ in practice.

    30 min CloudflareCloudFrontAkamai+1
  4. 2.3intermediate

    Caching: From Browser to Database

    Cache hierarchy, five write patterns, eviction policies (LRU/TinyLFU), stampede prevention, and why invalidation is the hardest problem in distributed systems.

    25 min RedisMemcached
  5. 2.4intermediate

    SQL Databases: The Boring Technology That Wins

    B-trees, MVCC, isolation levels, indexing, and why PostgreSQL and MySQL are still the right answer for most systems.

    25 min PostgreSQLMySQLCockroachDB+6
  6. 2.5intermediate

    NoSQL Databases: Picking the Right Non-Relational Tool

    Key-value, document, wide-column, and graph stores, and how DynamoDB, Cassandra, MongoDB, and Neo4j differ in practice.

    25 min DynamoDBRedisMongoDB+8
  7. 2.6advanced

    Database Partitioning and Sharding: When One Node Is Not Enough

    Range, hash, and consistent-hash partitioning, hot spots, resharding, and how Notion, Figma, and Discord partition data in practice.

    25 min PostgreSQLMySQLCassandra+7
  8. 2.7advanced

    Database Replication: Keeping Copies in Sync

    Leader-follower, multi-leader, and leaderless replication, sync vs async, failover, and how Postgres, MySQL, Cassandra, and DynamoDB differ.

    25 min PostgreSQLMySQLCassandra+6
  9. 2.8advanced

    Message Queues and Streaming: Decoupling at Scale

    Queues vs logs, Kafka vs RabbitMQ vs SQS, delivery semantics, partitioning, consumer groups, and when streaming beats request-response.

    25 min KafkaRabbitMQSQS+4
  10. 2.9intermediate

    Pub/Sub: Fan-Out and Event-Driven Systems

    Topics, subscriptions, fan-out strategies, and how Google Pub/Sub, Redis, NATS, and SNS+SQS implement publish/subscribe at scale.

    25 min KafkaRedisNATS+1
  11. 2.10intermediate

    Real-Time Communication: WebSockets, SSE, and Long Polling

    Long polling, Server-Sent Events, WebSockets, WebRTC, and MQTT: when to use each, how to scale persistent connections, and production lessons from Discord and Slack.

    25 min WebSockets
  12. 2.11intermediate

    Rate Limiting: Protecting Systems from Themselves

    Token bucket, leaky bucket, fixed and sliding windows, distributed rate limiting, and how Stripe, Cloudflare, and GitHub protect their APIs.

    25 min RedisCloudflareEnvoy
  13. 2.12advanced

    Service Discovery and Service Mesh: Finding and Talking to Services

    DNS, client-side and server-side discovery, health checks, sidecars, mTLS, and what Consul, Envoy, Istio, and Linkerd actually solve.

    25 min EnvoyIstioConsul+3
  14. 2.13intermediate

    Blob and Object Storage: Storing the Big Stuff

    S3 semantics, object storage internals, multipart uploads, lifecycle policies, and when to pick S3 vs GCS vs MinIO vs a filesystem.

    25 min S3CloudflareCloudFront
  15. 2.14intermediate

    Geospatial Indexing: Geohash, Quadtree, R-tree, S2, and H3

    Space-filling curves, hierarchical grids, and tree indexes for location queries - with decision guidance on geohash vs quadtree vs R-tree vs S2 vs H3.

    25 min RedisPostgreSQLElasticsearch
  16. 2.15intermediate

    Edge Computing (Cloudflare Workers, Lambda@Edge, Deno Deploy)

    Design applications for the edge: cold starts, state replication with Durable Objects, edge databases, and the limits of running code close to users.

    25 min