Notes on 'Distributed Systems for Fun and Profit' (Part 2)
2. Abstractions at Different Levels System Model Programs in distributed systems: Run concurrently on independent nodes Communicate via network connections that may introduce uncertainty and message loss Have no shared memory or shared clock The system model enumerates many assumptions related to specific system designs, covering the environment and facilities where the distributed system is implemented: What capabilities nodes have and how they fail How communication links operate and how they might fail Properties of the overall system, such as assumptions about time and order A robust system model makes the weakest assumptions, while strong assumptions create system models that are easier to reason about. ...