Distributed System Reference Guide
This post is reference guide that points to the concepts, system design principles, system concepts mentioned in my posts.
System Concepts
- Logical Clocks, Vector Clocks
- State Machine: A process whose state depends entirely on the starting state and sequence of operations
- Replication: All servers exhibit the same behavior
- Sharding: Different data on different servers; Partitioned via some function on keys
- Clock Skew: the same sourced clock signal arrives at different components at different times
Protocol
System Designs
System Principles
-
Scability: sharding + replication
- Usually, shard then replicate
- Each piece of data lives on one replicated shard
-
Stronger consistency models are easier to reason about (and program for), but more expensive to obtain
- Weaker consistency models provide more performance, but hard to understand and program for
comments powered by Disqus