Distributed Systems for practitioners
β Scribed by Dimos Raptis
- Tongue
- English
- Leaves
- 259
- Category
- Library
No coin nor oath required. For personal study only.
β¦ Synopsis
Learn the basic principles that govern how distributed systems work and how you can design your systems for increased performance, availability and scalability. Understand the basic algorithms and protocols used to solve the most common problems in the space of distributed systems. See how theory can be put in practice through case studies and a collection of practices and patterns.
This book is divided into four main parts:
- Fundamental Concepts: introduction and study of the main concepts and theorems that are necessary to understand more complex topics, such as safety & liveness properties, consistency & failure models, the CAP theorem etc.
- Distributed Transactions & Consensus: introduction of the problem of distributed transactions and consensus and available solutions, such as two-phase commit, Paxos, Raft etc.
- Time & Order: a deep dive into the concepts of time and order, their role in a distributed systems and relevant techniques to handle them, such as lamport clocks and vector clocks.
- From theory to practice: an examination of how theory presented in previous sections can be used in practice, by looking at case studies of real-life distributed systems, practices and patterns used across the industry
π SIMILAR VOLUMES
Learn the basic principles that govern how distributed systems work and how you can design your systems for increased performance, availability and scalability. Understand the basic algorithms and protocols used to solve the most common problems in the space of distributed systems.
<p>The primary audience for this book are advanced undergraduate students and graduate students. Computer architecture, as it happened in other fields such as electronics, evolved from the small to the large, that is, it left the realm of low-level hardware constructs, and gained new dimensions, as
The distributed systems architect assembles pieces of hardware that are at least as large as a computer or a network router, and assigns pieces of software that are self-contained - such as Java applets - to those hardware components. As system complexity, size and diversity grow, the probability of