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