Skip to content
Tag63 articles1 course

System Design

Everything on CoreConcept tagged with System Design. Explore related tags below.

Related tags

Courses

Intermediate~5 hours

Learn how to design scalable, reliable, and maintainable systems — from single servers to distributed architectures used by millions of users.

Articles

As relational databases grow beyond millions to billions of rows, single-table query performance degrades due to massive B-Tree index sizes and memory swapping.

Aug 1, 20263 min read
Read

Decoupling microservices using Event-Driven Architecture (EDA) requires choosing an asynchronous messaging backbone. Engineers evaluate three distinct messaging

Aug 1, 20263 min read
Read

In high-concurrency microservices architectures, preventing race conditions when multiple stateless worker instances access shared resources requires Distribute

Aug 1, 20263 min read
Read

At the heart of every database system lies a Storage Engine that determines how data is written to disk, indexed, and retrieved. Relational databases like Postg

Aug 1, 20263 min read
Read

Rate Limiting is a critical defense mechanism for production APIs, protecting downstream microservices from traffic spikes, denial-of-service (DoS) attacks, and

Aug 1, 20263 min read
Read

System design interviews evaluate a candidate's ability to architect scalable, resilient, and cost-effective distributed systems under real-world constraints. S

Aug 1, 20263 min read
Read

In-memory caching is an essential component of high-throughput web architectures, reducing database read load and accelerating API response times. When selectin

Aug 1, 20265 min read
Read

Selecting the right primary database is one of the most critical architectural decisions for software teams. PostgreSQL is the world's most advanced open-source

Aug 1, 20265 min read
Read

A product manager says PAY-204: next Friday's campaign may double checkout traffic for three hours. The beginner mistake is asking, "How many servers do we need

Jul 22, 202612 min read
Read

An order database's primary data center suffers a catastrophic, unrecoverable event — not a transient node failure, an actual disaster. Two numbers now determin

Jul 18, 20268 min read
Read

A team deploys their application to three regions, each with its own app tier, database, and network path. On paper, a failure in one region should never touch

Jul 18, 20267 min read
Read

A product-page personalization API needs to answer in under 100ms for a good user experience. A shopper in Sydney hits it, and the request has to reach the orig

Jul 18, 20267 min read
Read

A multi-tenant analytics platform partitions incoming events by tenant_id, hashed onto 16 shards — a design that looked perfectly balanced in every load test. T

Jul 18, 20267 min read
Read

A URL shortener's redirect endpoint, GET /r/{code}, looks purely read-heavy — billions of redirects against a handful of short codes created per second. But eve

Jul 17, 20267 min read
Read

An order service runs in two regions, us-east and eu-west. In one design, both regions serve live customer traffic right now, splitting the load. In another, us

Jul 17, 20268 min read
Read

A permission check in front of a wire-transfer approval endpoint times out. What should happen next? One engineer's instinct says "don't block the transfer over

Jul 17, 20267 min read
Read

A payment service keeps processing requests with zero dropped transactions while one of its three nodes crashes mid-request — that's fault tolerance. A differen

Jul 17, 20267 min read
Read

A product page shows the item, its price, and an "add to cart" button — the core path — plus a "customers also viewed" recommendation strip powered by a separat

Jul 17, 20267 min read
Read

A checkout API runs three replicas across two availability zones behind a load balancer — on paper, no single point of failure. Then one AZ has a networking inc

Jul 17, 20267 min read
Read

An order-ingestion API writes to an in-memory queue, a worker pool drains it, and a payment provider on the other end gets slow. The queue keeps accepting every

Jul 17, 20267 min read
Read

A shopping cart write to cart-77 needs to land on enough replicas that a later read is guaranteed to see it — but "enough" is a number you choose, and the numbe

Jul 17, 20268 min read
Read

A 4-node session cache scales to 5 nodes to handle more traffic. With hash(key) % N, that single node addition changes almost every key's target node, and the c

Jul 17, 20267 min read
Read

A user changes their display name, refreshes the page a second later from a phone on a different network, and sees the old name. Nothing crashed. No request fai

Jul 17, 20268 min read
Read

A checkout API can wait until every step finishes, or accept an order and complete work later. The first path gives the caller an immediate final answer but cou

Jul 17, 20269 min read
Read

A shopping cart must remember items, so the product cannot be literally stateless. The useful design question is where that state lives. Keep the cart inside on

Jul 17, 20268 min read
Read

An order API can return responses all day and still charge the wrong amount. It can be temporarily unreachable while every stored order remains safe. It can fai

Jul 17, 20268 min read
Read

A dashboard can look “fast” while users still wait, and a load test can report huge requests-per-second while p99 checkout times explode. Latency is how long on

Jul 17, 20267 min read
Read

You press Enter on https://shop.example/products/42. A moment later, a product page appears. That small action crosses naming, transport security, HTTP, edge in

Jul 17, 202612 min read
Read

A support ticket that needs docs, a tool call, and a model reply does not need twelve equal "frameworks." It needs an orchestration lane, a retrieval lane, a se

Jul 17, 20269 min read
Read

A travel checkout may call a public weather API, your own booking API, and a partner airline API. All three could use REST, but they should not share the same c

Jul 17, 20265 min read
Read

RabbitMQ is a broker: producers publish messages; exchanges route them; queues buffer work; consumers process and acknowledge. The same building blocks combine

Jul 16, 20265 min read
Read

Many teams still introduce NGINX as “just a web server.” In production it usually sits in front of your app: clients hit NGINX first; your Node, .NET, or Java p

Jul 16, 20265 min read
Read

Five Docker containers with REST between them is not a production microservices system. Clients hit a load balancer and API gateway; services own their database

Jul 16, 20265 min read
Read

Checkout slows while product pages remain healthy. CPU is moderate, but the orders table shows rising lock waits and writes queue behind one hot index. Adding a

Jul 16, 20265 min read
Read

A product page feels instant on the second visit because some layer reused work from the first. The useful beginner question is not “should we add Redis?” but “

Jul 16, 20265 min read
Read

Many developers reach for async/await hoping one method will finish sooner. It does not make a database round-trip or HTTP call execute faster; the external ope

Jul 16, 20264 min read
Read

A chat demo with an API key is not an LLM product. LLMOps is the set of tools that make models behave like services you can ship: versioned prompts, evals, guar

Jul 16, 20265 min read
Read

A prompt is only one part of a production AI system. Engineers also need vocabulary for execution loops, tool connections, model access, cost, evaluation, safet

Jul 16, 20266 min read
Read

"Just use Postgres" is good advice until a measured access pattern needs a specialist. A checkout might use Redis for the cart, SQL for order and inventory, a v

Jul 16, 20266 min read
Read

Semantic search, RAG, and agent memory depend on the same primitive: store embeddings and retrieve nearby vectors with the filters your product requires. The ma

Jul 16, 20269 min read
Read

This guide is for developers who can build a frontend, API, and database but have not yet operated the whole request path. By the end, you can trace one checkou

Jul 15, 202611 min read
Read

Mobile users lose signal in elevators, on flights, and in rural areas, but they still expect edits to survive. An offline-first architecture writes locally, rec

Jul 6, 20265 min read
Read

Microservices are not a shopping list. They are a set of layers — package, store, communicate, protect the edge, run and observe — each with many tools that sol

Jul 6, 20267 min read
Read

When GET https://app.example.com/api/orders/42 returns 502, the failure may sit at DNS, the external load balancer, an Ingress controller, a Service selector, a

Jul 6, 20265 min read
Read

A Redis GET can be constant-time and still miss its latency target when a large Lua script is ahead of it, the client opens a new TLS connection, or the value t

Jul 5, 20267 min read
Read

At 3am you need three answers: what happened, how bad is it, and where time went. Logs record discrete events. Metrics aggregate rate, errors, and latency. Trac

Jul 4, 20264 min read
Read

Traffic climbs and something saturates — CPU, memory, disk, or connection count. Vertical scaling gives one machine more resources. Horizontal scaling adds mach

Jul 4, 20264 min read
Read

A product page is easy to cache until a price changes: the CDN still has the old response, one app instance has an older in-process value, and Redis has already

Jul 4, 20268 min read
Read

The CAP theorem states that when a distributed system is partitioned, it cannot guarantee both linearizable consistency and availability for every request. Cons

Jul 4, 20264 min read
Read

Every new project faces the same question: one deployable application or separately deployed services? A monolith minimizes distributed-systems overhead; micros

Jul 4, 20265 min read
Read

A load balancer spreads connections so one machine does not take all the pain. Layer 4 routes on IP and port — fast and protocol-agnostic. Layer 7 reads HTTP ho

Jul 4, 20264 min read
Read

One buggy client can retry a failing endpoint in a tight loop and starve everyone else. Rate limiting protects shared capacity and keeps abuse expensive; a sing

Jul 4, 20265 min read
Read

This guide is for backend engineers who know HTTP and database transactions but need to decide where six microservice patterns fit. By the end, you can trace on

Jul 1, 20266 min read
Read

A team says "we need to shard the database" when the actual measured problem is a 200GB events table that scans slowly, or "let's add replication" when what the

Jul 21, 20267 min read
Read

A product page's cache key expires at 2:00:00pm. In the same instant, 5,000 concurrent requests check the cache, all get a miss, and all 5,000 independently que

Jul 21, 20267 min read
Read

A team sets an internal reliability target of 99.9% and signs a customer contract promising 99.5% — and a new engineer immediately asks why the numbers don't ma

Jul 21, 20267 min read
Read

Two background workers pick up the same financial payout job at the exact same millisecond. Without mutual exclusion across separate servers, both workers proce

Aug 3, 20269 min read
Read

Building fault-tolerant distributed databases requires keeping multiple server nodes synchronized on a sequence of state machine operations. Before Raft, Paxos

Aug 3, 202610 min read
Read

Building multiplayer text editors like Google Docs, Figma, or Notion requires synchronizing concurrent modifications from multiple users across high-latency net

Aug 3, 20269 min read
Read

A WebSocket delivers every message reliably and in order over TCP — which sounds like exactly what a multiplayer game needs, until you realize that guarantee is

Aug 3, 202610 min read
Read

A distributed lock feels like it should be enough: acquire it, do your write, release it, and only one client at a time gets to touch the resource. It works rig

Aug 3, 20269 min read
Read

"Multi-tenant" is not one architecture — it's a spectrum from a fully shared database with a tenant_id column on every table, to one dedicated GCP project per c

Aug 3, 202610 min read
Read

OpenTelemetry gives you a single, vendor-neutral way to emit traces, metrics, and logs — but that neutrality means the instrumentation code never talks to Googl

Aug 3, 20269 min read
Read

Want a curated collection instead? Topic hubs group the best content by subject.

Browse Topics