Beginner Topic 1 of 51 Distributed Systems & Cloud
What is a Distributed System
Independent computers cooperating as a single system.
How it works
A distributed system is a collection of independent computers that cooperate over a network and appear to users as a single coherent system. Nodes communicate only by passing messages, have no shared memory or global clock, and can fail independently. Main goals are scalability, availability, performance and resource sharing, while the main challenges are partial failures, unreliable and variable networks, concurrency, consistency and lack of a global view.
Where it is used
Search engines, social networks, online banking, streaming platforms, cloud databases and multiplayer games are distributed systems, as are the microservice back ends behind many apps.
Common pitfall
The eight fallacies of distributed computing, such as the network is reliable, latency is zero and bandwidth is infinite, are the root of many bugs. A call can succeed, fail or hang with unknown outcome, so design for timeouts, retries and idempotency. Complexity grows quickly, so keep systems as simple as requirements allow.
Where it fits in the course
What is a Distributed System is topic 1 of 51 in Distributed Systems & Cloud, rated Beginner. It is the first topic in this area. The next topic is Client-Server Model.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Distributed Systems & Cloud quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Distributed Systems & Cloud quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is What is a Distributed System?
Where do people use What is a Distributed System?
What is the most common mistake with What is a Distributed System?
What should I learn before this topic?
How can I practice it?
Is What is a Distributed System hard to learn?
How long does it take to learn What is a Distributed System?
Which topics are related to What is a Distributed System?
What should I study after What is a Distributed System?
Related topics
- Client-Server Model (Distributed Systems & Cloud)
- Peer-to-Peer Systems (Distributed Systems & Cloud)
- Scalability (Distributed Systems & Cloud)
- Vertical vs Horizontal Scaling (Distributed Systems & Cloud)
- What is an Operating System (Operating Systems)
- What is a Network (Computer Networks)
- What is a Database (Databases)