Zeyuan Hu's Page

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