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

System Design Interview Course

Comprehensive system design course with 149 topics across 12 modules. Master distributed systems, scalability patterns, and ace your system design interview.

12 modules 149 topics 40-60 hours
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
Start Learning