Concept Explorer
Search and browse 21 technical concepts with progressive depth.
API Gateway
APIAn API gateway is a single entry point for all client requests that handles cross-cutting concerns like authentication, rate limiting, routing, and request aggregation before forwarding to backend services.
Caching
CachingCaching stores copies of frequently accessed data in a faster storage layer to reduce latency, lower database load, and improve throughput.
CAP Theorem
DatabasesThe CAP theorem states that a distributed data store can provide at most two of three guarantees: Consistency, Availability, and Partition Tolerance — and since network partitions are inevitable, the real choice is between consistency and availability during a partition.
Consistent Hashing
SystemsConsistent hashing maps both data keys and servers onto a circular hash space so that adding or removing a server only redistributes a minimal fraction of keys, unlike traditional modular hashing which reshuffles nearly everything.
Content Delivery Networks
NetworkingA Content Delivery Network (CDN) is a geographically distributed network of edge servers that cache and serve content from locations close to end users, reducing latency and offloading origin servers.
Database Indexing
DatabasesA database index is a data structure (typically a B-tree or hash table) that provides fast lookup of rows by specific column values, trading storage space and write overhead for dramatically faster read queries.
Database Replication
DatabasesDatabase replication copies data from one database server (primary) to one or more others (replicas) to provide high availability, fault tolerance, and read scalability.
Database Sharding
DatabasesDatabase sharding horizontally partitions data across multiple independent database instances, each holding a subset of the total dataset, to scale beyond the capacity of a single machine.
Domain Name System (DNS)
NetworkingThe Domain Name System (DNS) translates human-readable domain names (example.com) into IP addresses (93.184.216.34) that computers use to route network traffic.
Load Balancing
SystemsLoad balancing distributes incoming network traffic across multiple servers to ensure no single server bears too much demand, improving reliability and throughput.
Message Queues
SystemsMessage queues decouple producers and consumers by buffering messages in a durable, ordered store, enabling asynchronous processing, load leveling, and fault-tolerant communication between services.
Microservices Architecture
SystemsMicroservices architecture structures an application as a collection of small, independently deployable services, each owning its own data and communicating over well-defined APIs.
Monolith vs Microservices
SystemsA monolith deploys all functionality as a single unit, while microservices decompose the system into independently deployable services — but the right choice depends on team size, domain complexity, and deployment frequency, not architectural fashion.
Pub/Sub vs Message Queues
SystemsMessage queues deliver each message to exactly one consumer for task distribution, while pub/sub broadcasts each message to all subscribers for event notification — and most real systems use both patterns in different parts of their architecture.
Push vs Pull Architecture
SystemsPush architectures precompute and deliver data to recipients ahead of time (fan-out-on-write), while pull architectures compute data on demand when requested (fan-out-on-read) — and the choice depends on your read-to-write ratio and follower distribution.
Rate Limiting
APIRate limiting controls the number of requests a client can make to a service within a time window, protecting against abuse, ensuring fair usage, and preventing resource exhaustion.
Reverse Proxy
NetworkingA reverse proxy sits in front of backend servers and forwards client requests to them, providing load balancing, caching, TLS termination, compression, and security — all transparent to the client.
SQL vs NoSQL
DatabasesSQL databases use structured schemas with tables, rows, and joins to enforce data integrity (ACID), while NoSQL databases use flexible data models (document, key-value, column-family, graph) to prioritize scalability and development speed.
Strong vs Eventual Consistency
DatabasesStrong consistency guarantees every read returns the most recent write (at the cost of latency and availability), while eventual consistency allows stale reads temporarily (gaining availability and speed) — and the right choice depends on what happens when your system shows outdated data.
Synchronous vs Asynchronous Communication
SystemsSynchronous communication blocks the caller until the response arrives (HTTP, gRPC), while asynchronous communication decouples the sender from the receiver via an intermediary (queues, events) — and the choice determines your system's latency profile, failure modes, and coupling characteristics.
TCP vs UDP
NetworkingTCP (Transmission Control Protocol) provides reliable, ordered, connection-oriented byte-stream delivery with congestion control, while UDP (User Datagram Protocol) provides fast, connectionless, best-effort datagram delivery without guarantees.