← ClaudeAtlas

principle-distributed-systemslisted

Distributed systems principles — CAP, consistency models (linearizable, causal, eventual, read-your-writes), quorum, leader election, partitioning, idempotency across nodes, fallacies of distributed computing. Auto-load when reasoning about CAP/PACELC trade-offs, choosing a consistency model, ordering events with logical clocks, distinguishing exactly-once delivery from exactly-once effects, designing replication or partitioning strategy, or assessing distributed failure modes.
lugassawan/swe-workbench · ★ 2 · AI & Automation · score 68
Install: claude install-skill lugassawan/swe-workbench
<!-- preload-canary: SWB-PRELOAD-PRINCIPLE-DISTRIBUTED-SYSTEMS --> # Distributed Systems Multi-node systems fail partially and non-deterministically. Every design decision spans a space of consistency, availability, and latency trade-offs — name them explicitly. ## CAP and PACELC **CAP**: under a network **P**artition, choose **C**onsistency or **A**vailability — you cannot guarantee both. **PACELC** extends this to normal operation: even without a partition, every request trades **L**atency for **C**onsistency. Always name both axes: "This is AP/EL — available under partition, latency-favoured otherwise." Common placements: Cassandra (AP/EL), HBase (CP/EC), Spanner (CP/EC via TrueTime), DynamoDB (AP/EL by default, tunable). ## Consistency Models Ordered strongest → weakest: | Model | Promise | |-------|---------| | **Linearizable** | Reads always see the most recent committed write; operations appear atomic. Requires consensus. | | **Sequential** | All nodes observe operations in the same order, not necessarily wall-clock order. | | **Causal** | Causally related writes are observed in order; concurrent writes may diverge. | | **Read-your-writes** | A client always reads its own most recent write (single-session). | | **Monotonic reads** | A client never reads a value older than one it already read. | | **Eventual** | All replicas converge given sufficient time and no new writes. | Choose the weakest model that satisfies correctness. Most user-facing apps need only