Search DistillSys

Find a concept

Type at least two characters to search lessons, designs, papers, and interview prep.

Thirty-three practical mental models

Topic library

Browse the complete roadmap by category, or search for the problem you are trying to reason about.

33 topics

Foundations5 min · fundamental

Distributed Systems Fundamentals

Understand why teams distribute computation, what they gain, and which failure modes appear immediately.

#fundamentals#reliability#scalability
Open visual refresher →
Consistency5 min · fundamental

CAP Theorem

Understand what a network partition really forces you to choose—and what CAP does not say.

#cap#consistency#availability
Open visual refresher →
Consistency5 min · intermediate

PACELC

Reason about consistency and latency both during partitions and during ordinary healthy operation.

#pacelc#consistency#latency
Open visual refresher →
Consistency7 min · intermediate

Consistency Models

Choose the weakest consistency promise that still protects the product’s invariants and user expectations.

#consistency#linearizability#eventual-consistency
Open visual refresher →
Foundations6 min · intermediate

Time & Ordering

Reason about events when clocks disagree and messages arrive in different orders.

#clocks#ordering#causality
Open visual refresher →
Replication6 min · fundamental

Replication

Copy state across machines without confusing more copies with stronger correctness.

#replication#leader-follower#lag
Open visual refresher →
Consensus6 min · intermediate

Quorums

Use overlapping read and write sets to reason about replica authority, freshness, and failure tolerance.

#quorum#replication#consistency
Open visual refresher →
Consensus7 min · intermediate

Raft Consensus

Agree on one sequence of operations despite node crashes, delayed messages, and network partitions.

#raft#consensus#replication
Open visual refresher →
Consensus6 min · intermediate

Leader Election

Select one current coordinator and prevent stale leaders from continuing to act.

#leadership#leases#epochs
Open visual refresher →
Partitioning6 min · intermediate

Consistent Hashing

Partition keys across changing nodes while minimizing how much data moves when the cluster scales.

#partitioning#hashing#rebalancing
Open visual refresher →
Partitioning5 min · intermediate

Range Partitioning

Split ordered keyspace into contiguous ranges for efficient scans and controllable ownership.

#sharding#ranges#indexes
Open visual refresher →
Partitioning6 min · advanced

Rebalancing

Move ownership safely as data, traffic, and cluster membership change.

#rebalancing#migration#ownership
Open visual refresher →
Partitioning5 min · intermediate

Hot Partitions

Detect and relieve keys or shards that receive disproportionate traffic.

#skew#hot keys#capacity
Open visual refresher →
Transactions7 min · advanced

Distributed Transactions & 2PC

Coordinate one atomic outcome across independent participants—and understand the blocking cost.

#transactions#two-phase-commit#atomicity
Open visual refresher →
Transactions6 min · intermediate

Saga Transactions

Coordinate a long-running workflow with local commits and explicit compensation.

#saga#workflows#compensation
Open visual refresher →
Transactions6 min · advanced

MVCC

Serve consistent snapshots by retaining multiple committed versions of data.

#mvcc#isolation#snapshots
Open visual refresher →
Transactions5 min · intermediate

Idempotent Workflows

Make retries and duplicate delivery converge on one durable business outcome.

#idempotency#retries#workflows
Open visual refresher →
Storage6 min · intermediate

LSM Trees

Understand how write-optimized storage turns random updates into sequential writes and pays later through compaction.

#lsm#storage#compaction
Open visual refresher →
Storage7 min · intermediate

Distributed Databases

Combine partitioning, replication, transactions, and routing into one data service.

#databases#replication#sharding
Open visual refresher →
Storage5 min · intermediate

Compaction

Rewrite immutable storage files to reclaim space and control read amplification.

#compaction#sstables#storage
Open visual refresher →
Storage7 min · advanced

Distributed SQL

Preserve relational queries and transactions while distributing storage and execution.

#sql#transactions#query planning
Open visual refresher →
Messaging7 min · intermediate

Kafka & Distributed Logs

Use partitioned append-only logs for durable event streams, replay, and independent consumer progress.

#kafka#distributed-log#streaming
Open visual refresher →
Messaging6 min · intermediate

Delivery Semantics

Understand what at-most-once, at-least-once, and effectively-once processing really promise.

#delivery#duplicates#idempotency
Open visual refresher →
Messaging5 min · intermediate

Consumer Groups

Scale ordered log processing by assigning partitions across cooperating consumers.

#consumers#partitions#offsets
Open visual refresher →
Messaging5 min · intermediate

Backpressure

Slow producers or shed work before queues and consumers become unstable.

#backpressure#queues#flow control
Open visual refresher →
Reliability7 min · intermediate

Failure & Retry Patterns

Recover from transient failure without turning retries into a synchronized overload event.

#retries#timeouts#backoff
Open visual refresher →
Reliability5 min · fundamental

Partial Failures

Design for components and network paths failing independently while the rest of the system continues.

#failures#timeouts#ambiguity
Open visual refresher →
Reliability5 min · intermediate

Circuit Breakers

Stop repeated calls to an unhealthy dependency and probe recovery deliberately.

#circuit breaker#overload#recovery
Open visual refresher →
Reliability5 min · intermediate

Load Shedding

Reject lower-value work early so critical operations remain healthy during overload.

#overload#admission control#priorities
Open visual refresher →
Architecture7 min · advanced

Active / Active Architecture

Serve traffic from multiple regions while making write ownership and conflicts explicit.

#multi-region#active-active#availability
Open visual refresher →
Architecture7 min · advanced

Geo Replication

Copy data across regions while balancing latency, durability, locality, and consistency.

#geo replication#regions#latency
Open visual refresher →
Architecture5 min · fundamental

RPO & RTO

Turn disaster recovery into explicit data-loss and restoration objectives.

#rpo#rto#disaster recovery
Open visual refresher →
Architecture7 min · advanced

Conflict Resolution

Merge concurrent updates using semantics that preserve the product's invariants.

#conflicts#concurrency#crdt
Open visual refresher →