HOME / CATALOG / HIGH LEVEL SYSTEM DESIGN
01
ROADMAP / ADVANCED

High Level System Design

35 TOPICS · 35 HOURS · ADVANCED · SCALE 1:4
START CANVAS

Master the art of designing large-scale distributed systems — from fundamental building blocks like load balancers and caches to advanced patterns for scalability, reliability, and real-world architecture decisions.


§ SYLLABUS

§ SECTION 01 · FOUNDATIONS
  1. 01
    Client-Server Model & Network Basics

    Understand how clients and servers communicate over the network, including HTTP/HTTPS, TCP/IP basics, DNS resolution, and the request-response lifecycle that underpins all web systems.

  2. 02
    Latency, Throughput & Bandwidth

    Learn the key performance metrics used to reason about system behavior — what latency, throughput, and bandwidth mean, how they interact, and how to use back-of-the-envelope math to estimate system capacity.

  3. 03
    API Design & Communication Protocols

    Explore RESTful APIs, GraphQL, gRPC, and WebSockets. Understand when to use each protocol and how API contracts shape the boundaries between services.

  4. 04
    CAP Theorem & System Tradeoffs

    Grasp the fundamental impossibility result that governs distributed systems: you cannot simultaneously guarantee consistency, availability, and partition tolerance, and every real system must choose its tradeoffs.

  5. 05
    Foundations Complete

    You can reason about networked systems, estimate capacity, and understand the fundamental tradeoffs that shape every design decision.

§ SECTION 02 · CORE BUILDING BLOCKS
  1. 01
    Load Balancing

    Learn how load balancers distribute traffic across servers, including L4 vs L7 balancing, common algorithms (round-robin, least connections, consistent hashing), and health checking strategies.

  2. 02
    Caching Strategies

    Understand cache-aside, write-through, write-behind, and read-through patterns. Learn where to place caches (client, CDN, application, database) and how to handle cache invalidation.

  3. 03
    Content Delivery Networks

    Learn how CDNs bring content closer to users by caching static and dynamic content at edge locations, reducing latency and offloading origin servers.

  4. 04
    Proxies & Reverse Proxies

    Understand forward and reverse proxies, API gateways, and how they enable features like SSL termination, rate limiting, request routing, and security filtering.

  5. 05
    Message Queues & Async Processing

    Learn how message brokers (Kafka, RabbitMQ, SQS) decouple producers from consumers, enable asynchronous workflows, and smooth out traffic spikes through buffering.

  6. 06
    Building Blocks Mastered

    You understand the core infrastructure components that appear in virtually every large-scale system and know when to apply each one.

§ SECTION 03 · DATA STORAGE & MANAGEMENT
  1. 01
    SQL vs NoSQL Databases

    Compare relational databases with NoSQL stores (document, key-value, column-family, graph). Understand data modeling tradeoffs, query patterns, and when each type shines.

  2. 02
    Database Indexing & Query Optimization

    Learn how B-tree and LSM-tree indexes work, how to design indexes for your access patterns, and common pitfalls that lead to slow queries at scale.

  3. 03
    Data Replication

    Understand leader-follower, multi-leader, and leaderless replication strategies. Learn how replication improves availability and read performance while introducing consistency challenges.

  4. 04
    Data Partitioning & Sharding

    Learn how to split data across multiple nodes using hash-based or range-based partitioning, handle hot spots, and manage cross-partition queries.

  5. 05
    Blob & Object Storage

    Understand how systems like S3 store unstructured data (images, videos, files) at massive scale and how to integrate object storage into your architecture.

  6. 06
    Data Layer Complete

    You can choose the right storage technology, design schemas for scale, and implement replication and partitioning strategies.

§ SECTION 04 · SCALABILITY & PERFORMANCE
  1. 01
    Horizontal vs Vertical Scaling

    Understand the difference between scaling up (bigger machines) and scaling out (more machines), and why horizontal scaling is the foundation of modern distributed systems.

  2. 02
    Monoliths, Microservices & Service-Oriented Architecture

    Compare monolithic and microservice architectures. Understand service boundaries, inter-service communication, and the operational complexity tradeoffs of each approach.

  3. 03
    Database Scaling Patterns

    Learn read replicas, connection pooling, CQRS (Command Query Responsibility Segregation), and how to scale your data tier independently of your application tier.

  4. 04
    Rate Limiting & Throttling

    Understand token bucket, sliding window, and leaky bucket algorithms. Learn how rate limiting protects services from abuse and cascading overload.

  5. 05
    Auto-Scaling & Elasticity

    Learn how cloud platforms automatically adjust compute capacity based on demand, including scaling policies, metrics, and the tradeoffs of reactive vs predictive scaling.

  6. 06
    Scalability Patterns Mastered

    You can design systems that handle growing traffic gracefully, choosing the right scaling strategy for each component.

§ SECTION 05 · RELIABILITY & CONSISTENCY
  1. 01
    Consistency Models

    Deep-dive into strong consistency, eventual consistency, causal consistency, and linearizability. Understand what guarantees each model provides and the performance cost of each.

  2. 02
    Fault Tolerance & Redundancy

    Learn how to design systems that survive hardware failures, network partitions, and software bugs through redundancy, failover, and graceful degradation.

  3. 03
    Circuit Breakers & Bulkheads

    Understand patterns that prevent cascading failures across services — circuit breakers stop calling failing dependencies, bulkheads isolate failure domains.

  4. 04
    Monitoring, Logging & Observability

    Learn the three pillars of observability (metrics, logs, traces), how to instrument systems for debugging at scale, and how alerting helps you catch problems before users do.

  5. 05
    Distributed Consensus (Paxos, Raft)

    Explore how distributed nodes agree on shared state using consensus protocols. Understand why leader election and log replication matter for strongly consistent systems.

  6. 06
    Reliability Expert

    You can design systems that stay available under failure, reason about consistency guarantees, and build in observability from day one.

§ SECTION 06 · ADVANCED PATTERNS & REAL-WORLD DESIGN
  1. 01
    Design: URL Shortener

    Apply your knowledge to design a URL shortening service — covering hashing strategies, storage choices, redirect performance, and analytics at scale.

  2. 02
    Design: Real-Time Chat System

    Design a messaging platform handling millions of concurrent connections using WebSockets, message ordering, presence detection, and persistent chat history.

  3. 03
    Design: Social Media News Feed

    Tackle fan-out strategies (push vs pull), ranking algorithms, content caching, and timeline generation for a social network's news feed.

  4. 04
    Design: Distributed File Storage

    Design a system like Google Drive or Dropbox — chunk-based storage, metadata management, sync conflict resolution, and deduplication.

  5. 05
    Design: Search Engine

    Explore inverted indexes, ranking (TF-IDF, PageRank), crawling pipelines, and how to serve search results at low latency across billions of documents.

  6. 06
    System Design Ready

    You can confidently tackle system design interviews and real-world architecture challenges, breaking down ambiguous requirements into concrete, scalable designs.