An Example from Scratch
Discover how a simple app evolves from a single-node server to a distributed system by adding multiple server and database nodes. Learn key concepts like load balancing and data replication that ensure system reliability and scalability. This lesson helps you understand the fundamentals of distributed systems through an incremental, real-world example.
The most obvious distributed system
In the previous lesson, there was an open question for you to ponder: What is an example of a distributed system that is everywhere around you, and that you use every single day?
It’s the internet.
Well, think about it. When you open up your phone, tap on the browser, and then visit www.educative.io, what really happens?
Note: We won’t go into the very technical details just now, but let’s talk about what happens generally.
When you type in the address of Educative on your phone’s browser, the request goes to some server, then from there to some other server, and then probably to Educative’s server. Educative responds with its content, and your browser then renders the pages for you to see. All these things happen so seamlessly that it’s not very obvious that many machines are involved in the process. And the entire ecosystem of machines altogether is actually a form of a distributed system.
In short, the internet is a gigantic network of arguably an infinite number of nodes, and they form a gigantic distributed system.
But this isn’t the most concrete example. Let’s look at another one.
A simple yet concrete example
We’ll now learn about a more simple example of a ...