Loading learning path...
Move from architecture fundamentals to concrete system-design cases, then test consistency, failure recovery and authorization decisions through repository coding and review.
This HLD learning path builds system design intuition from first principles to large-scale architecture patterns.
What you'll learn: • Requirements and constraints analysis • Scalability, availability, and consistency • Caching, load balancing, and data partitioning • Messaging and event-driven systems • Observability and security foundations • Real-world architecture case studies
Requirements Gathering
Back-of-the-Envelope Estimation
Trade-off Analysis
Constraints and Bottlenecks
Iterative Design Process
Documentation and Communication
Design a URL Shortener
Design a Paste Bin
The Consensus Problem
The Paxos Consensus Algorithm
Raft Consensus Algorithm
ZAB (Zookeeper Atomic Broadcast)
Distributed Locking
Leader Election
Coordination Services
Design a Consensus Protocol (Raft / Paxos)
Design a Unique ID Generator
Why Caching Matters
Caching Layers
Write-Through Caching
Write-Back (Write-Behind) Caching
Write-Around Caching
Cache Invalidation Strategies
CDN Caching: Global Content Distribution at Scale
Distributed Cache Systems
Design Redis
Why Databases Matter in System Design
SQL vs NoSQL: Choosing the Right Database Paradigm
ACID Properties: The Pillars of Transactional Integrity
BASE Properties: The Alternative to ACID
Data Modeling Fundamentals
Indexes and Query Performance
Why Database Replication Matters
Leader-Follower Replication
Leaderless Replication
Multi-Leader Replication
Quorum-Based Replication
Sharding and Database Partitioning
Rebalancing and Resharding
Design a Distributed Database (Cassandra / DynamoDB)
Design a Multi-Region Active-Active Database
PostgreSQL: The World's Most Advanced Open Source Database
MySQL: Architecture, Scaling, and Production Deployment
Query Optimization
Connection Pooling: Managing Database Connections at Scale
Read Replicas: Scaling SQL Reads
SQL Database Scaling Patterns
Key-Value Stores
Document Stores: MongoDB and Document-Oriented Databases
Wide-Column Stores: Mastering Column-Family Databases
Graph Databases
Time-Series Databases
Choosing the Right NoSQL Database for Your System
Design a Key-Value Store
Google Spanner: The Globally Distributed Database
Amazon DynamoDB: AWS's Fully Managed NoSQL Database
Apache Cassandra: Masterclass in Distributed NoSQL
CockroachDB: Distributed SQL for the Modern Era
TiDB: The MySQL-Compatible Distributed SQL Database
FoundationDB: The Database That Powers Cloud Giants
CQRS Pattern
Event Sourcing: Events as the Source of Truth
The Saga Pattern: Managing Distributed Transactions
Outbox Pattern
Change Data Capture (CDC)
Data Synchronization Patterns
An unsuccessful credit capture changes account balances
Capture reserved credit only once
Understanding APIs: The Foundation of Modern System Communication
REST API Design
GraphQL: Query-Based API Architecture
gRPC: High-Performance Remote Procedure Calls
API Versioning: Managing Change in Distributed Systems
API Documentation
Design a Rate Limiter
Request-Response Pattern
Service Discovery
Circuit Breaker Pattern: Building Resilient Distributed Systems
Retry Strategies in Distributed Systems
Timeout Patterns in Synchronous Communication
Bulkhead Pattern: Failure Isolation in Distributed Systems
Why Asynchronous Communication?
Message Queues
Publish-Subscribe Pattern
Delivery Guarantees
Message Ordering in Distributed Systems
Messaging Systems Comparison
Design Kafka
Design a Distributed Task Scheduler
Understanding Real-Time Systems
WebSockets: Real-Time Bidirectional Communication
Server-Sent Events (SSE)
Long Polling: The Art of Simulated Real-Time
Push Notifications
Real-Time Architecture Patterns
Design a Simple Chat Application
Object Storage Fundamentals
Cloud Object Storage: Architecture and Best Practices
Distributed File Systems
Hot, Warm, and Cold Storage
Deduplication and Compression: Optimizing Storage Efficiency at Scale
Backup and Disaster Recovery
Design Google Drive File Storage
Design a Distributed File System (HDFS / GFS)
What Is a Content Delivery Network?
CDN Caching Mechanics
Cache Invalidation at Scale
Origin Shield: Protecting and Optimizing Origin Infrastructure
Dynamic Content Acceleration
CDN Providers Comparison
Design a Content Delivery Network (CDN)
Design a Global CDN with Edge Computing
Search Architecture Overview
Full-Text Search
Elasticsearch: Distributed Search at Scale
Search Indexing Strategies
Search Relevance Tuning
Typeahead and Autocomplete Systems
Design a Search Autocomplete System
Design Google Search
Design a Web Crawler
Understanding High Availability: Building Systems That Stay Online
Redundancy Patterns: Building Systems That Never Fail
Failover Strategies: Building Resilient Systems
Multi-Region Architecture: Building Globally Distributed Systems
Disaster Recovery: Building Resilient Systems That Survive Catastrophe
Availability vs Consistency Trade-offs
Failure Is Inevitable: Understanding and Embracing System Failures
Timeout and Deadline Patterns
Retry with Backoff: Building Resilient Distributed Systems
Fallback Patterns
Failed notification commits leave a delivered message
Deliver queued notifications only
The Three Pillars of Observability
Metrics Collection
Distributed Tracing: Following Requests Across Services
Logging at Scale: Production-Grade Observability
Alerting Design: Building Effective Alert Systems
Dashboards and Visualization: Bringing Observability to Life
Design a Metrics Monitoring & Alerting System
Design a Logging & Log Aggregation System
Security in System Design
Authentication Patterns in Distributed Systems
Authorization Patterns
OAuth2 and OpenID Connect
JWT Tokens
API Security
Blocked access requests can approve themselves
Block denied access requests at activation
Event-Driven Fundamentals
CQRS at Scale
Choreography vs Orchestration: Coordination Patterns in Event-Driven Systems
Event Schema Evolution
Event-Driven Pitfalls
Design a Stream Processing System (Flink / Spark Streaming)
Design an Ad Click Aggregation System
Failed release journals leave a partially published room
Isolate the editorial transaction draft
What Is Infrastructure as Code?
Terraform: Infrastructure as Code Mastery
CI/CD for Infrastructure
Deployment Strategies
Configuration Management: Infrastructure Automation at Scale
GitOps: Infrastructure and Application Delivery via Git
Understanding the Problem: The Foundation of System Design
Functional Requirements in System Design
Non-Functional Requirements
High-Level Design: From Requirements to Architecture
Deep Dive: Refining System Designs
Design Validation
What Interviewers Look For in System Design Interviews
Time Management in System Design Interviews
Clarifying Requirements in System Design Interviews
Communication Strategies
Handling Constraints
Common Mistakes to Avoid
Mock Interview Practice
Designing Twitter/X: Social Media Feed at Scale
WhatsApp Messaging System Design
Facebook Newsfeed Design
Design Discord: Voice, Video & Chat Platform
LinkedIn Connections: Designing Professional Social Graphs
Design a Notification System
Design Twitter Timeline
Design Instagram News Feed
Design a Notification System
Design WhatsApp Messenger
Designing YouTube: A Video Platform at Planetary Scale
Netflix Streaming Service Design
Designing Instagram: Photo-Sharing at Planetary Scale
Designing Spotify: Music Streaming at Scale
Designing TikTok: Short-Form Video Platform
Designing Cloud File Storage Systems
Design YouTube Video Streaming
Design Zoom
Design Google Docs
Uber / Lyft Ride-Sharing System Design
Designing Amazon: E-Commerce at Massive Scale
Designing a Payment System
Designing a URL Shortener
Designing a Rate Limiter
Designing a Distributed Cache
Designing a Web Crawler at Scale
Design BookMyShow
Design Flipkart
Design Zomato
Design Airbnb
Design Stripe
Design Groww
Design Google Maps
Design a Real-Time Gaming Leaderboard
Design a Recommendation System
Design a Content Moderation System
Design a Machine Learning Feature Store
Design a Blockchain / Distributed Ledger
Complete this path to earn a personalised certificate. You choose whether to make it public.