You are viewing a free preview of this lesson.
Subscribe to unlock all 10 lessons in this course and every other course on LearningBro.
A distributed system is a collection of independent computers that appears as a single system to users. Distributed systems introduce challenges around consistency, coordination, and fault tolerance that do not exist in single-machine systems. This lesson covers consensus, distributed locks, clock synchronisation, and more.
In a single-machine system: In a distributed system:
┌──────────────────────┐ ┌──────┐ ┌──────┐
│ Everything is in │ │Node A│ ←?→ │Node B│
│ one place. One │ └──┬───┘ └──┬───┘
│ clock. One memory. │ │ │
│ One process. │ │ Network │
│ Simple. │ │ (unreliable)
└──────────────────────┘ │ │
┌──┴───┐ ┌──┴───┐
│Node C│ ←?→ │Node D│
└──────┘ └──────┘
- Messages can be lost, delayed, or reordered
- Nodes can crash and restart at any time
- Clocks are not synchronised
- There is no shared memory
Subscribe to continue reading
Get full access to this lesson and all 10 lessons in this course.