Patterns of Distributed Systems
Patterns of Distributed Systems, by Unmesh Joshi, collects recurring implementation structures used in distributed storage, messaging, system management, and compute infrastructure.
Cohesive Correspondence
| Pattern family | Representative patterns | Cohesive correspondence |
|---|---|---|
| Time, order, and versions | Lamport Clock, Hybrid Clock, Generation Clock, Version Vector, Versioned Value | time, causality, version, ordering, and version histories |
| Replication and agreement | Leader and Followers, Majority Quorum, Paxos, Replicated Log, Consistent Core | consensus, consistency models, durability, arbitration, and consensus protocols |
| Partitioning and storage | Fixed Partitions, Key-Range Partitions, Write-Ahead Log, Segmented Log, High-Water Mark, Low-Water Mark | persistence, reconstitution, retention, storage systems, and log realization |
| Interaction and progress | HeartBeat, Gossip Dissemination, Request Batch, Request Pipeline, Request Waiting List, State Watch, Idempotent Receiver | interaction, delivery, scheduling, liveness, correlation, observability, and recovery |
| Serialization and local order | Singular Update Queue, Single-Socket Channel | concurrency control, interaction channels, ordering scopes, runtimes, and network substrate |
The catalog gravitates toward operational concerns and realization substrate. It explains mechanisms that can establish a scoped guarantee; it usually does not define the domain meaning carried by that guarantee.
Boundary of Adoption
A replicated-log entry is not automatically a domain event. A leader is not automatically a domain authority. A version vector detects causal relationships among replica versions but does not decide whether concurrent domain changes are semantically compatible. A write-ahead log provides storage recovery material and is not automatically event sourcing. A singular update queue can serialize execution without validating a domain transition.
These distinctions make the catalog valuable realization evidence: Cohesive can say which semantic or system-graph structure a distributed pattern realizes and exactly which ordering, durability, consistency, or progress claim it supports.
External References
- Unmesh Joshi, Catalog of Patterns of Distributed Systems, 2023.
- Unmesh Joshi, Patterns of Distributed Systems, Addison-Wesley Professional, 2023.
Related concepts: pattern languages and correspondence, consensus, consistency models, causality, ordering, version histories, persistence, durability, interaction, scheduling, recovery, consensus protocols, storage systems, write-ahead logging, event sourcing.