Part 2 — Building Blocks
The atomic components. Every large-scale system is assembled from these primitives.
Prerequisites: Part 1 — Fundamentals (especially Ch01-Ch03)
Overview
Part 2 covers the core infrastructure components that appear in almost every distributed system. You'll understand how each works internally, when to use it, and the trade-offs at every decision point.
By the end of Part 2, you'll be able to:
- Explain DNS resolution and routing strategies
- Choose the right load balancing algorithm for your use case
- Design multi-layer caching strategies
- Select between SQL and NoSQL databases with clear reasoning
- Design async processing pipelines with message queues
Chapters
Chapter 05 — DNS
How DNS works, record types, routing strategies (round-robin, weighted, latency-based, geolocation), DNS as load balancer.
Chapter 06 — Load Balancing
L4 vs L7, algorithms (round-robin, least connections, consistent hashing), active-passive vs active-active failover, reverse proxy.
Chapter 07 — Caching
Cache hierarchy, strategies (cache-aside, read-through, write-through, write-behind), eviction policies, Redis vs Memcached.
Chapter 08 — Content Delivery Networks
How CDNs work, push vs pull models, origin shielding, TTL management, multi-CDN strategies.
Chapter 09 — Databases: SQL
Replication (master-slave, master-master), sharding, federation, denormalization, SQL tuning.
Chapter 10 — Databases: NoSQL
Key-value, document, wide-column, graph databases. When to use each, CAP trade-offs in practice.
Chapter 11 — Message Queues
Kafka, RabbitMQ, SQS. Task queues, back pressure, exactly-once delivery, async processing patterns.
Chapter 12 — Communication Protocols
HTTP, TCP/UDP, RPC, REST, GraphQL, WebSockets. When to use each protocol.
Time Estimate
~8 hours of focused reading and practice.

Comments powered by Giscus. Enable GitHub Discussions on the repo to activate.