Layrs Logo
Layrs
Back to Dashboard
HLD Course LLD Course New
Modules
What is System Design? A Complete Guide How to Approach System Design Interviews Back-of-the-Envelope Estimation for System Design
Performance vs Scalability in System Design Latency vs Throughput: System Design Trade-offs Availability vs Consistency in Distributed Systems CAP Theorem Explained with Real-World Examples Consistency Patterns in Distributed Systems Weak Consistency in Distributed Systems Eventual Consistency: How It Works with Examples Strong Consistency in Distributed Systems Explained Availability Patterns: Active-Active & Failover Failover in System Design: Active-Passive Guide Replication in System Design: Master-Slave & Peer Availability in Numbers: SLA & Nines Explained Bloom Filters: Space-Efficient Membership Testing Consistent Hashing: How It Works & Why It Matters Merkle Trees: Data Integrity in Distributed Systems PACELC Theorem: Beyond CAP in Distributed Systems Quorum in Distributed Systems Explained
DNS Explained: How Domain Resolution Works CDN Explained: Content Delivery Networks Guide Push CDNs: When to Pre-populate Edge Caches Pull CDNs: On-Demand Edge Caching Explained
Load Balancers Explained: Types & Use Cases Load Balancer vs Reverse Proxy: Key Differences Load Balancing Algorithms: Round Robin to Least Conn Layer 4 Load Balancing: TCP/UDP Traffic Routing Layer 7 Load Balancing: HTTP-Aware Routing Guide Horizontal Scaling: Scale-Out Architecture Guide Forward Proxy vs Reverse Proxy Explained
Application Layer in System Design Explained Microservices Architecture: Benefits & Trade-offs Service Discovery in Microservices: Client vs Server Background Jobs in System Design: Queues & Workers Event-Driven Architecture: Patterns & Trade-offs Schedule-Driven Architecture: Cron & Job Scheduling Returning Results in Distributed Systems: Sync vs Async API Gateway Pattern: Rate Limiting, Auth & Routing Rate Limiting in System Design: Token Bucket & Sliding Window
Databases in System Design: SQL, NoSQL & More SQL vs NoSQL: When to Use Which Database Database Sharding: Horizontal Partitioning Guide Database Federation: Splitting by Function Denormalization: Trade Redundancy for Performance SQL Tuning: Query Optimization Techniques Key-Value Store: Redis, DynamoDB Design Guide Document Store: MongoDB & NoSQL Design Guide Wide Column Store: Cassandra & HBase Guide Graph Databases: Neo4j & Use Cases Explained Data Lakes vs Data Warehouses: Key Differences Database Indexing Strategies: B-Tree, Hash & Composite Database Replication: Master-Slave & Multi-Master Search Systems: Elasticsearch & Inverted Index Write-Ahead Log (WAL) Explained: Database Durability Vector Databases: Semantic Search & AI System Design
Caching in System Design: Complete Overview Cache-Aside Pattern: Lazy Loading Explained Write-Through Cache: Sync Writes to DB & Cache Write-Behind Cache: Async DB Writes Explained Refresh-Ahead Cache: Proactive Cache Warming Client-Side Caching: Browser & HTTP Cache Guide CDN Caching: Edge Caching Strategy for Low Latency Web Server Caching: Nginx & Varnish Guide Database Caching: Query Cache, Buffer Pool & Redis Application-Level Caching: In-Process & Redis Cache Eviction Policies: LRU, LFU, FIFO Compared Cache Invalidation Read-Through Cache: Auto-populate on Cache Miss
Asynchronous Processing in System Design Message Queues: Kafka, RabbitMQ & SQS Guide Task Queues: Celery, Sidekiq & Job Processing Backpressure in Distributed Systems Explained Idempotent Operations: Safe Retries in Distributed Systems Stream Processing: Kafka Streams, Flink & Spark
Communication Protocols in System Design HTTP in System Design: Methods, Status & Headers TCP in System Design: Reliable Connection Guide UDP in System Design: Fast Connectionless Protocol REST API Design: Principles & Best Practices RPC vs REST: Remote Procedure Call Explained gRPC: High-Performance RPC Framework Guide GraphQL: Query Language & API Design Guide Long Polling vs WebSockets vs SSE: When to Use Each
System Design Anti-Patterns to Avoid Busy Database Anti-Pattern: Causes & Fixes Busy Frontend Anti-Pattern: Offload Work to Backend Chatty I/O Anti-Pattern: Reduce Network Round-Trips Extraneous Fetching Anti-Pattern: Fetch Only What You Need Improper Instantiation Anti-Pattern Explained Monolithic Persistence Anti-Pattern: Polyglot Storage No-Caching Anti-Pattern: When Missing Cache Hurts Noisy Neighbor Anti-Pattern in Multi-Tenant Systems Retry Storm Anti-Pattern: Avoid Thundering Herd Synchronous I/O Anti-Pattern: Move to Async Monitoring in System Design: Metrics, Logs & Traces Health Monitoring: Liveness & Readiness Probes Availability Monitoring: Uptime & SLA Tracking Performance Monitoring: Latency, Throughput & Errors Security Monitoring: Threat Detection & Alerts Usage Monitoring: Track Resource & User Patterns Instrumentation: Add Observability to Your System Visualization & Alerts: Grafana, Dashboards & PagerDuty
Messaging Patterns in Distributed Systems Async Request-Reply Pattern Explained Claim Check Pattern: Large Message Handling Choreography Pattern: Saga & Event-Driven Coordination Competing Consumers Pattern: Parallel Message Processing Pipes and Filters Pattern: Data Processing Pipelines Priority Queue Pattern: Process Messages by Priority Publisher-Subscriber Pattern: Pub/Sub Architecture Queue-Based Load Leveling Pattern Explained Scheduling Agent Supervisor Pattern Sequential Convoy Pattern: Ordered Message Processing Data Management Patterns in Cloud Architecture Cache-Aside Cloud Pattern: Redis Lazy Loading CQRS Pattern: Separate Read & Write Models Event Sourcing Pattern: Store State as Events Index Table Pattern: Secondary Index in NoSQL Materialized View Pattern: Pre-computed Query Results Sharding Pattern: Partition Data for Scale Static Content Hosting Pattern: CDN & Blob Storage Valet Key Pattern: Secure Direct Client Access Design & Implementation Patterns in Cloud Architecture Ambassador Pattern: Offload Proxy Tasks Anti-Corruption Layer: Bridge Legacy & New Systems Backends for Frontend (BFF) Pattern Explained Compute Resource Consolidation Pattern External Config Store Pattern: Centralize Configuration Gateway Aggregation Pattern: Combine API Calls Gateway Offloading Pattern: Delegate Cross-Cutting Concerns Gateway Routing Pattern: Route Requests to Services Leader Election Pattern in Distributed Systems Pipes and Filters Implementation: Cloud Pipeline Guide Sidecar Pattern: Extend Services Without Modification Static Content Hosting Implementation Guide Strangler Fig Pattern: Migrate Legacy Systems CQRS Implementation: Code & Architecture Guide Containerization & Orchestration Serverless Architecture
Resiliency Patterns in Distributed Systems Bulkhead Pattern: Isolate Failures in Microservices Circuit Breaker Pattern: Stop Cascading Failures Compensating Transaction Pattern: Undo Distributed Work Health Endpoint Monitoring: /health API Guide Retry Pattern: Exponential Backoff & Jitter in Practice Scheduler Agent Supervisor High Availability: Design for 99.99% Uptime Deployment Stamps Pattern: Multi-Region Scale-Out Geodes Pattern: Globally Distributed Services Bulkhead for High Availability: Resource Isolation Circuit Breaker for High Availability Systems Health Endpoint Monitoring for High Availability Availability Overview Deployment Stamps for Availability: Multi-Region Guide Geodes Pattern for Availability: Global Distribution Health Endpoint Monitoring for Availability Queue-Based Load Leveling for Availability Throttling Pattern: Protecting Services from Overload Security Patterns in System Design Federated Identity Pattern: SSO & OAuth Guide Gatekeeper Pattern: Protect Services with a Proxy Valet Key Security Pattern: Limited Access Tokens Distributed Locking: Redis, ZooKeeper & Redlock Distributed Consensus: Raft & Paxos Explained Distributed Transactions: 2PC & Saga Patterns Gossip Protocol: Peer-to-Peer State Propagation Heartbeat Mechanism: Node Health Detection Hinted Handoff: Handle Node Failures in Cassandra Leader Election (Resiliency) Queue-Based Load Leveling (Resiliency) Split-Brain & Fencing: Prevent Distributed Conflicts
Sign In Dashboard
Layrs Logo
Layrs
Back to Dashboard
HLD Course LLD Course New
Modules
What is System Design? A Complete Guide How to Approach System Design Interviews Back-of-the-Envelope Estimation for System Design
Performance vs Scalability in System Design Latency vs Throughput: System Design Trade-offs Availability vs Consistency in Distributed Systems CAP Theorem Explained with Real-World Examples Consistency Patterns in Distributed Systems Weak Consistency in Distributed Systems Eventual Consistency: How It Works with Examples Strong Consistency in Distributed Systems Explained Availability Patterns: Active-Active & Failover Failover in System Design: Active-Passive Guide Replication in System Design: Master-Slave & Peer Availability in Numbers: SLA & Nines Explained Bloom Filters: Space-Efficient Membership Testing Consistent Hashing: How It Works & Why It Matters Merkle Trees: Data Integrity in Distributed Systems PACELC Theorem: Beyond CAP in Distributed Systems Quorum in Distributed Systems Explained
DNS Explained: How Domain Resolution Works CDN Explained: Content Delivery Networks Guide Push CDNs: When to Pre-populate Edge Caches Pull CDNs: On-Demand Edge Caching Explained
Load Balancers Explained: Types & Use Cases Load Balancer vs Reverse Proxy: Key Differences Load Balancing Algorithms: Round Robin to Least Conn Layer 4 Load Balancing: TCP/UDP Traffic Routing Layer 7 Load Balancing: HTTP-Aware Routing Guide Horizontal Scaling: Scale-Out Architecture Guide Forward Proxy vs Reverse Proxy Explained
Application Layer in System Design Explained Microservices Architecture: Benefits & Trade-offs Service Discovery in Microservices: Client vs Server Background Jobs in System Design: Queues & Workers Event-Driven Architecture: Patterns & Trade-offs Schedule-Driven Architecture: Cron & Job Scheduling Returning Results in Distributed Systems: Sync vs Async API Gateway Pattern: Rate Limiting, Auth & Routing Rate Limiting in System Design: Token Bucket & Sliding Window
Databases in System Design: SQL, NoSQL & More SQL vs NoSQL: When to Use Which Database Database Sharding: Horizontal Partitioning Guide Database Federation: Splitting by Function Denormalization: Trade Redundancy for Performance SQL Tuning: Query Optimization Techniques Key-Value Store: Redis, DynamoDB Design Guide Document Store: MongoDB & NoSQL Design Guide Wide Column Store: Cassandra & HBase Guide Graph Databases: Neo4j & Use Cases Explained Data Lakes vs Data Warehouses: Key Differences Database Indexing Strategies: B-Tree, Hash & Composite Database Replication: Master-Slave & Multi-Master Search Systems: Elasticsearch & Inverted Index Write-Ahead Log (WAL) Explained: Database Durability Vector Databases: Semantic Search & AI System Design
Caching in System Design: Complete Overview Cache-Aside Pattern: Lazy Loading Explained Write-Through Cache: Sync Writes to DB & Cache Write-Behind Cache: Async DB Writes Explained Refresh-Ahead Cache: Proactive Cache Warming Client-Side Caching: Browser & HTTP Cache Guide CDN Caching: Edge Caching Strategy for Low Latency Web Server Caching: Nginx & Varnish Guide Database Caching: Query Cache, Buffer Pool & Redis Application-Level Caching: In-Process & Redis Cache Eviction Policies: LRU, LFU, FIFO Compared Cache Invalidation Read-Through Cache: Auto-populate on Cache Miss
Asynchronous Processing in System Design Message Queues: Kafka, RabbitMQ & SQS Guide Task Queues: Celery, Sidekiq & Job Processing Backpressure in Distributed Systems Explained Idempotent Operations: Safe Retries in Distributed Systems Stream Processing: Kafka Streams, Flink & Spark
Communication Protocols in System Design HTTP in System Design: Methods, Status & Headers TCP in System Design: Reliable Connection Guide UDP in System Design: Fast Connectionless Protocol REST API Design: Principles & Best Practices RPC vs REST: Remote Procedure Call Explained gRPC: High-Performance RPC Framework Guide GraphQL: Query Language & API Design Guide Long Polling vs WebSockets vs SSE: When to Use Each
System Design Anti-Patterns to Avoid Busy Database Anti-Pattern: Causes & Fixes Busy Frontend Anti-Pattern: Offload Work to Backend Chatty I/O Anti-Pattern: Reduce Network Round-Trips Extraneous Fetching Anti-Pattern: Fetch Only What You Need Improper Instantiation Anti-Pattern Explained Monolithic Persistence Anti-Pattern: Polyglot Storage No-Caching Anti-Pattern: When Missing Cache Hurts Noisy Neighbor Anti-Pattern in Multi-Tenant Systems Retry Storm Anti-Pattern: Avoid Thundering Herd Synchronous I/O Anti-Pattern: Move to Async Monitoring in System Design: Metrics, Logs & Traces Health Monitoring: Liveness & Readiness Probes Availability Monitoring: Uptime & SLA Tracking Performance Monitoring: Latency, Throughput & Errors Security Monitoring: Threat Detection & Alerts Usage Monitoring: Track Resource & User Patterns Instrumentation: Add Observability to Your System Visualization & Alerts: Grafana, Dashboards & PagerDuty
Messaging Patterns in Distributed Systems Async Request-Reply Pattern Explained Claim Check Pattern: Large Message Handling Choreography Pattern: Saga & Event-Driven Coordination Competing Consumers Pattern: Parallel Message Processing Pipes and Filters Pattern: Data Processing Pipelines Priority Queue Pattern: Process Messages by Priority Publisher-Subscriber Pattern: Pub/Sub Architecture Queue-Based Load Leveling Pattern Explained Scheduling Agent Supervisor Pattern Sequential Convoy Pattern: Ordered Message Processing Data Management Patterns in Cloud Architecture Cache-Aside Cloud Pattern: Redis Lazy Loading CQRS Pattern: Separate Read & Write Models Event Sourcing Pattern: Store State as Events Index Table Pattern: Secondary Index in NoSQL Materialized View Pattern: Pre-computed Query Results Sharding Pattern: Partition Data for Scale Static Content Hosting Pattern: CDN & Blob Storage Valet Key Pattern: Secure Direct Client Access Design & Implementation Patterns in Cloud Architecture Ambassador Pattern: Offload Proxy Tasks Anti-Corruption Layer: Bridge Legacy & New Systems Backends for Frontend (BFF) Pattern Explained Compute Resource Consolidation Pattern External Config Store Pattern: Centralize Configuration Gateway Aggregation Pattern: Combine API Calls Gateway Offloading Pattern: Delegate Cross-Cutting Concerns Gateway Routing Pattern: Route Requests to Services Leader Election Pattern in Distributed Systems Pipes and Filters Implementation: Cloud Pipeline Guide Sidecar Pattern: Extend Services Without Modification Static Content Hosting Implementation Guide Strangler Fig Pattern: Migrate Legacy Systems CQRS Implementation: Code & Architecture Guide Containerization & Orchestration Serverless Architecture
Resiliency Patterns in Distributed Systems Bulkhead Pattern: Isolate Failures in Microservices Circuit Breaker Pattern: Stop Cascading Failures Compensating Transaction Pattern: Undo Distributed Work Health Endpoint Monitoring: /health API Guide Retry Pattern: Exponential Backoff & Jitter in Practice Scheduler Agent Supervisor High Availability: Design for 99.99% Uptime Deployment Stamps Pattern: Multi-Region Scale-Out Geodes Pattern: Globally Distributed Services Bulkhead for High Availability: Resource Isolation Circuit Breaker for High Availability Systems Health Endpoint Monitoring for High Availability Availability Overview Deployment Stamps for Availability: Multi-Region Guide Geodes Pattern for Availability: Global Distribution Health Endpoint Monitoring for Availability Queue-Based Load Leveling for Availability Throttling Pattern: Protecting Services from Overload Security Patterns in System Design Federated Identity Pattern: SSO & OAuth Guide Gatekeeper Pattern: Protect Services with a Proxy Valet Key Security Pattern: Limited Access Tokens Distributed Locking: Redis, ZooKeeper & Redlock Distributed Consensus: Raft & Paxos Explained Distributed Transactions: 2PC & Saga Patterns Gossip Protocol: Peer-to-Peer State Propagation Heartbeat Mechanism: Node Health Detection Hinted Handoff: Handle Node Failures in Cassandra Leader Election (Resiliency) Queue-Based Load Leveling (Resiliency) Split-Brain & Fencing: Prevent Distributed Conflicts
Sign In Dashboard
Layrs
  1. Course
  2. HLD Topics

High-Level Design Topics

149 topics across 12 modules. Master distributed systems, scalability patterns, and system design interview essentials.

1

Introduction to System Design

3 topics
2

Core Concepts & Trade-offs

17 topics
3

Networking & DNS

4 topics
4

Load Balancing & Scaling

7 topics
5

Application Architecture

9 topics
6

Databases

16 topics
7

Caching

13 topics
8

Asynchronous Processing

6 topics
9

Communication Protocols

9 topics
10

Performance & Monitoring

19 topics
11

Cloud Design Patterns

37 topics
12

Reliability Patterns

32 topics