πŸͺ TechCookies
ConceptsPracticeSD challengesPricingNextJS Q&A
Log inStart free
πŸͺ TechCookies
ConceptsPracticeSD challengesPricingPrivacyTerms
Β© 2026 TechCookies
Concepts
β—ˆA/B Testing SystemsPro
β—ˆAdaptive Bitrate Streaming (HLS/DASH)Pro
β—ˆAnalytics PipelinesPro
β—‰Append-Only Audit Tables
β—ˆAsync Job Processing FundamentalsPro
β—ˆAsync Processing PipelinesPro
β—ˆAudio Streaming ArchitecturePro
β—ˆAuthentication FundamentalsPro
β—ˆAuthorisation and RBACPro
β—‰Caching
β—ˆCanvas and WebGL RenderingPro
β—‰Back-of-Envelope Estimation
β—‰CDN Caching
β—‰Circuit Breakers
β—‰Client-Side Caching
β—ˆConsistent hashingPro
β—ˆConflict-Free Replicated Data Types (CRDTs)Pro
β—ˆCross-Tab SynchronisationPro
β—‰Database Constraints as Data Guards
β—‰Database Indexes: Making Queries Fast
β—‰Relationships and Foreign Keys
β—ˆDatabases & storagePro
β—ˆDead-Letter QueuesPro
β—ˆAt-Least-Once vs Exactly-Once DeliveryPro
β—ˆDelta SyncPro
β—ˆDistributed Payment ArchitecturePro
β—ˆDrag-and-Drop ArchitecturePro
β—ˆEnd-to-End Encryption in the BrowserPro
β—ˆEdge Computing and CDN ArchitecturePro
β—ˆMicrocontroller and Embedded ConstraintsPro
β—‰Event-Driven Architecture
β—‰Exponential Backoff and Retry
β—‰Failure Modes in Distributed Systems
β—ˆFile API and File System Access APIPro
β—ˆFile Security and DeduplicationPro
β—‰Frontend Architecture Patterns
β—ˆGeolocation and Permissions APIPro
β—ˆGeospatial QueriesPro
β—‰Graceful Degradation and Fallbacks
β—ˆGrid Layout and Widget SystemsPro
β—‰Idempotency
β—ˆIndexedDB for Browser-Side StoragePro
β—‰Infinite Scroll and Pagination
β—ˆIntersection Observer APIPro
β—ˆIP-Based LocalisationPro
β—ˆKafka Deep DivePro
β—ˆLast-Write-Wins Conflict ResolutionPro
β—‰Lazy Loading Images and Media
β—‰Virtualisation and Large Lists
β—‰Load balancing
β—ˆMessage Queue FundamentalsPro
β—ˆMessage queuesPro
β—ˆObject Storage (S3-Compatible)Pro
β—ˆLogging and ObservabilityPro
β—ˆOffline-First ArchitecturePro
β—ˆOffline-Capable Hardware SystemsPro
β—ˆOperational Transform (OT)Pro
β—ˆPassword SecurityPro
β—ˆPayment Integration FundamentalsPro
β—ˆPresence and AwarenessPro
β—ˆProvider Adapter PatternPro
β—ˆQueue-per-Channel PatternPro
β—ˆRate Limiting AlgorithmsPro
β—ˆRate Limiting in PracticePro
β—‰Server State with React Query
β—‰Read Replicas and Write Scaling
β—ˆReal-Time Location TrackingPro
β—ˆReal-Time State ManagementPro
β—‰Redis Deep Dive
β—‰REST API Design Principles
β—ˆScheduled Jobs and CronPro
β—‰Schema Design Fundamentals
β—ˆServer-Sent Events (SSE)Pro
β—ˆService WorkersPro
β—ˆSQS and Managed QueuesPro
β—ˆState Machines on the FrontendPro
β—‰Stateless Service Design
β—‰Synchronous vs Asynchronous Communication
β—ˆThird-Party API ResiliencePro
β—ˆThree-Way MergePro
β—ˆTime-Series and Columnar DatabasesPro
β—‰Vertical vs Horizontal Scaling
β—ˆVideo Processing PipelinesPro
β—ˆWeb Audio APIPro
β—ˆWeb Crypto APIPro
β—ˆWeb Workers for Heavy ComputationPro
β—ˆWebhooks: Receiving External EventsPro
β—ˆWebRTCPro
β—ˆWebSocket ArchitecturePro
β—‰WebSockets vs SSE vs Polling
β—ˆWhen to Use NoSQLPro
β—ˆWorker Pool PatternPro
β—ˆYjs in PracticePro
β—‰State Management with Zustand
SD challenges
↗children's drawing animation app — minimize server farm costPro↗competitive game scoring system under high loadPro↗global cultural events platform with IP-based localizationPro↗collaborative whiteboard (Canvas API)Pro↗real-time chat UI (Messenger / Slack)Pro↗collaborative document editor (Google Docs)ProView all →
System design β€Ί Concepts β€Ί Load balancing
β—‰Load balancingFree~12 min Β· avg 72%
ScalabilityL4L7Availability
On this page:What is itKey conceptsAdvanced patternsPracticeSD challenges
What is Load balancing?

A load balancer distributes incoming requests across multiple backend servers to prevent any single server from becoming a bottleneck. It improves availability (if one server fails, others handle traffic) and horizontal scalability (add servers to handle more load).

Key concepts
Round-robin
Requests distributed sequentially across servers β€” simple but ignores server load.
Least connections
New request goes to the server with fewest active connections β€” better for variable request durations.
Health checks
Load balancer periodically probes servers. Unhealthy servers are removed from rotation until they recover.
Sticky sessions
User requests always route to the same server (by IP hash or cookie) β€” needed for stateful backends.
Advanced patterns
L4 vs L7 balancing
L4 (transport layer) routes by IP/TCP β€” fast, no content inspection. L7 (application layer) routes by HTTP path, headers, or cookies β€” more flexible.
Global server load balancing
Routes users to the nearest data centre using DNS or Anycast β€” reduces latency globally.
Weighted round-robin
Higher-capacity servers receive more requests proportionally.
Circuit breaker
Stops sending requests to a failing backend for a cooldown period, preventing cascade failures.
πŸ”’
Pro content
Advanced patterns and interview tips are on the Pro plan.
Unlock Pro β†’
βŠ—
Ready to apply this?
Design a children's drawing animation app β€” minimize server farm cost β€” a challenge that uses load balancing heavily.
β–Ά Attempt SD challenge
πŸ“ NotesLoad balancing
Sign in to save notes across sessions.