System Design Glossary
Bite-sized definitions and flow diagrams for CDN, sharding, queues, replication, and more.
Searchable glossary of system design terms with short descriptions and simple flow diagrams.
CDN (Content Delivery Network)
A distributed network of servers that deliver content (static assets, video) from locations close to the user. Reduces latency and origin load. Examples: CloudFront, Cloudflare.
User → Edge (CDN) → Origin (if cache miss)
Load Balancer
Distributes incoming traffic across multiple servers to improve availability and throughput. Can be layer-4 (TCP) or layer-7 (HTTP). Sticky sessions optional.
Clients → LB → [Server1, Server2, Server3]
Sharding
Horizontal partitioning of data across multiple DB instances. Each shard holds a subset of data (e.g. by user_id range or hash). Scales write/read capacity.
Data → Hash(key) → Shard1 | Shard2 | Shard3
Replication
Copying data across multiple nodes. Primary-replica: writes to primary, reads from replicas. Used for read scaling and fault tolerance.
Primary ← sync → Replica1, Replica2
Message Queue
Asynchronous communication between services. Producer pushes messages; consumer(s) process. Decouples components, handles spikes. Examples: RabbitMQ, Kafka, SQS.
Producer → Queue → Consumer(s)
Caching
Storing frequently accessed data in fast storage (memory, Redis) to reduce DB load and latency. Cache-aside, write-through, write-behind patterns.
App → Cache (hit) | Cache (miss) → DB
API Gateway
Single entry point for clients. Handles auth, rate limiting, routing, and sometimes aggregation. Backend services stay internal.
Clients → Gateway → [Service A, B, C]
Microservices
Architecture with small, independent services owning a bounded context. Communicate via APIs or events. Enables independent deploy and scale.
Service A ↔ Service B ↔ Service C (events/HTTP)
Rate Limiting
Restricting request count per user/IP/key in a time window. Protects backends and ensures fair use. Token bucket or sliding window.
Request → Check limit → Allow / 429
Idempotency
Performing an operation once or multiple times has the same effect. Critical for retries and at-least-once delivery. Use idempotency keys.
Related tools
Learn with Tagna.
Explore Tagna