Layrs Logo
Layrs
Back to Dashboard
HLD Course LLD Course New
Modules
What is System Design? How to Approach System Design? Back-of-the-Envelope Estimation
Performance vs Scalability Latency vs Throughput Availability vs Consistency CAP Theorem Consistency Patterns Weak Consistency Eventual Consistency Strong Consistency Availability Patterns Fail-Over Replication Availability in Numbers Consistent Hashing Bloom Filters Merkle Trees PACELC Theorem Quorum
DNS Fundamentals CDN Overview Push CDNs Pull CDNs
Load Balancers Overview Load Balancer vs Reverse Proxy Load Balancing Algorithms Layer 4 Load Balancing Layer 7 Load Balancing Horizontal Scaling Forward Proxy
Application Layer Overview Microservices Service Discovery Background Jobs Overview Event-Driven Schedule Driven Returning Results API Gateway Rate Limiting
Databases Overview SQL vs NoSQL Sharding Federation Denormalization SQL Tuning Key-Value Store Document Store Wide Column Store Graph Databases Data Lakes & Warehousing Database Indexing Strategies Replication (RDBMS) Search Systems & Inverted Index Vector Databases Write-Ahead Log (WAL)
Caching Overview Cache Aside Write-Through Write-Behind Refresh Ahead Client Caching CDN Caching Web Server Caching Database Caching Application Caching Cache Eviction Policies Cache Invalidation Read-Through
Asynchronism Overview Message Queues Task Queues Back Pressure Idempotent Operations Stream Processing
Communication Overview HTTP TCP UDP REST RPC gRPC GraphQL Long Polling, WebSockets & SSE
Performance Antipatterns Overview Busy Database Busy Frontend Chatty I/O Extraneous Fetching Improper Instantiation Monolithic Persistence No Caching Noisy Neighbor Retry Storm Synchronous I/O Monitoring Overview Health Monitoring Availability Monitoring Performance Monitoring Security Monitoring Usage Monitoring Instrumentation Visualization & Alerts
Messaging Overview Async Request-Reply Claim Check Choreography Competing Consumers Pipes and Filters Priority Queue Publisher/Subscriber Queue-based Load Leveling Scheduling Agent Supervisor Sequential Convoy Data Management Overview Cache-Aside Pattern CQRS Event Sourcing Index Table Materialized View Sharding Pattern Static Content Hosting Valet Key Design & Implementation Overview Ambassador Anti-Corruption Layer Backends for Frontend Compute Resource Consolidation External Config Store Gateway Aggregation Gateway Offloading Gateway Routing Leader Election Pipes & Filters (Implementation) Sidecar Static Content Hosting (Implementation) Strangler Fig CQRS (Implementation) Containerization & Orchestration Serverless Architecture
Resiliency Overview Bulkhead Circuit Breaker Compensating Transaction Health Endpoint Monitoring Retry Scheduler Agent Supervisor High Availability Overview Deployment Stamps Geodes Bulkhead (HA) Circuit Breaker (HA) Health Endpoint Monitoring (HA) Availability Overview Deployment Stamps (Availability) Geodes (Availability) Health Endpoint Monitoring (Availability) Queue-Based Load Leveling (Availability) Throttling Security Overview Federated Identity Gatekeeper Valet Key (Security) Distributed Consensus Distributed Locking Distributed Transactions (2PC) Gossip Protocol Heartbeat Mechanism Hinted Handoff Leader Election (Resiliency) Queue-Based Load Leveling (Resiliency) Split Brain & Fencing
Sign In Dashboard
Layrs Logo
Layrs
Back to Dashboard
HLD Course LLD Course New
Modules
What is System Design? How to Approach System Design? Back-of-the-Envelope Estimation
Performance vs Scalability Latency vs Throughput Availability vs Consistency CAP Theorem Consistency Patterns Weak Consistency Eventual Consistency Strong Consistency Availability Patterns Fail-Over Replication Availability in Numbers Consistent Hashing Bloom Filters Merkle Trees PACELC Theorem Quorum
DNS Fundamentals CDN Overview Push CDNs Pull CDNs
Load Balancers Overview Load Balancer vs Reverse Proxy Load Balancing Algorithms Layer 4 Load Balancing Layer 7 Load Balancing Horizontal Scaling Forward Proxy
Application Layer Overview Microservices Service Discovery Background Jobs Overview Event-Driven Schedule Driven Returning Results API Gateway Rate Limiting
Databases Overview SQL vs NoSQL Sharding Federation Denormalization SQL Tuning Key-Value Store Document Store Wide Column Store Graph Databases Data Lakes & Warehousing Database Indexing Strategies Replication (RDBMS) Search Systems & Inverted Index Vector Databases Write-Ahead Log (WAL)
Caching Overview Cache Aside Write-Through Write-Behind Refresh Ahead Client Caching CDN Caching Web Server Caching Database Caching Application Caching Cache Eviction Policies Cache Invalidation Read-Through
Asynchronism Overview Message Queues Task Queues Back Pressure Idempotent Operations Stream Processing
Communication Overview HTTP TCP UDP REST RPC gRPC GraphQL Long Polling, WebSockets & SSE
Performance Antipatterns Overview Busy Database Busy Frontend Chatty I/O Extraneous Fetching Improper Instantiation Monolithic Persistence No Caching Noisy Neighbor Retry Storm Synchronous I/O Monitoring Overview Health Monitoring Availability Monitoring Performance Monitoring Security Monitoring Usage Monitoring Instrumentation Visualization & Alerts
Messaging Overview Async Request-Reply Claim Check Choreography Competing Consumers Pipes and Filters Priority Queue Publisher/Subscriber Queue-based Load Leveling Scheduling Agent Supervisor Sequential Convoy Data Management Overview Cache-Aside Pattern CQRS Event Sourcing Index Table Materialized View Sharding Pattern Static Content Hosting Valet Key Design & Implementation Overview Ambassador Anti-Corruption Layer Backends for Frontend Compute Resource Consolidation External Config Store Gateway Aggregation Gateway Offloading Gateway Routing Leader Election Pipes & Filters (Implementation) Sidecar Static Content Hosting (Implementation) Strangler Fig CQRS (Implementation) Containerization & Orchestration Serverless Architecture
Resiliency Overview Bulkhead Circuit Breaker Compensating Transaction Health Endpoint Monitoring Retry Scheduler Agent Supervisor High Availability Overview Deployment Stamps Geodes Bulkhead (HA) Circuit Breaker (HA) Health Endpoint Monitoring (HA) Availability Overview Deployment Stamps (Availability) Geodes (Availability) Health Endpoint Monitoring (Availability) Queue-Based Load Leveling (Availability) Throttling Security Overview Federated Identity Gatekeeper Valet Key (Security) Distributed Consensus Distributed Locking Distributed Transactions (2PC) Gossip Protocol Heartbeat Mechanism Hinted Handoff Leader Election (Resiliency) Queue-Based Load Leveling (Resiliency) Split Brain & Fencing
Sign In Dashboard
Layrs
  1. Course
  2. HLD
  3. Introduction to System Design

Introduction to System Design

What system design is and how to approach it.

3 topics 2 sections

Getting Started

2 topics

What is System Design?

beginner

System design is the art and science of architecting software systems that can scale to millions of users while remaining reliable, available, and maintainable.

13 min read

How to Approach System Design?

beginner

System design interviews follow a structured 6-step framework: requirements gathering, capacity estimation, API design, high-level architecture, deep dive, and

14 min read

Additional Topics

1 topics

Back-of-the-Envelope Estimation

beginner

Back-of-the-envelope estimation is the art of making quick, reasonable calculations to validate system designs under interview pressure. Using power-of-two appr

10 min read