SDI.

Concept Explorer

Search and browse 21 technical concepts with progressive depth.

API Gateway

API

An 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.

routingauthenticationrate-limiting+5

Caching

Caching

Caching stores copies of frequently accessed data in a faster storage layer to reduce latency, lower database load, and improve throughput.

performancelatencycache-invalidation+5

CAP Theorem

Databases

The 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.

distributed systemsconsistencyavailability+2

Consistent Hashing

Systems

Consistent 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.

distributed systemspartitioninghash ring+2

Content Delivery Networks

Networking

A 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.

latencyedgecaching+5

Database Indexing

Databases

A 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.

B-treehash-indexquery-optimization+5

Database Replication

Databases

Database replication copies data from one database server (primary) to one or more others (replicas) to provide high availability, fault tolerance, and read scalability.

high-availabilityprimary-replicasynchronous+5

Database Sharding

Databases

Database 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.

horizontal-partitioningscalabilitydistributed-databases+3

Domain Name System (DNS)

Networking

The 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.

name-resolutionA-recordCNAME+5

Load Balancing

Systems

Load balancing distributes incoming network traffic across multiple servers to ensure no single server bears too much demand, improving reliability and throughput.

scalabilityavailabilityreliability+2

Message Queues

Systems

Message queues decouple producers and consumers by buffering messages in a durable, ordered store, enabling asynchronous processing, load leveling, and fault-tolerant communication between services.

asyncdecouplingkafka+5

Microservices Architecture

Systems

Microservices architecture structures an application as a collection of small, independently deployable services, each owning its own data and communicating over well-defined APIs.

architecturedecouplingservice-mesh+5

Monolith vs Microservices

Systems

A 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.

architecturedeploymentscaling+4

Pub/Sub vs Message Queues

Systems

Message 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.

messagingpub-subqueues+6

Push vs Pull Architecture

Systems

Push 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.

fan-outfeedtimeline+5

Rate Limiting

API

Rate 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.

throttlingtoken-bucketsliding-window+4

Reverse Proxy

Networking

A 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.

nginxHAProxyload-balancing+4

SQL vs NoSQL

Databases

SQL 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.

relationaldocumentkey-value+9

Strong vs Eventual Consistency

Databases

Strong 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.

consistencydistributed systemsCAP+5

Synchronous vs Asynchronous Communication

Systems

Synchronous 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.

architectureRESTgRPC+6

TCP vs UDP

Networking

TCP (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.

transport-layerreliabilitycongestion-control+4

Command Palette

Search for a command to run...