Distributed System 🎟️

Distributed systems are a collection of independent components and machines located on different systems, communicating in order to operate as a single unit.

Types of distributed systems 🥏

There are many models and architectures of distributed systems in use today.

  • Client-server systems, the most traditional and simple type of distributed system, involve a multitude of networked computers that interact with a central server for data storage, processing or other common goal.

  • Peer-to-peer networks distribute workloads among hundreds or thousands of computers all running the same software.

  • Cell phone networks are an advanced distributed system, sharing workloads among handsets, switching systems and internet-based devices.

Key characteristics of a distributed system 🎢

So now that we get what distributed systems are, we can start to assign key features to them. Here’s what good distributed systems have in common:

Scalability. The ability to grow as the size of the workload increases is an essential feature of distributed systems, accomplished by adding additional processing units or nodes to the network as needed.

Concurrency. Distributed system components run simultaneously. They’re also characterized by the lack of a “global clock,” when tasks occur out of sequence and at different rates.

Replication. Distributed systems enable shared information and messaging, ensuring consistency between redundant resources, such as software or hardware components, improving fault tolerance, reliability and accessibility.

Transparency. The end user sees a distributed system as a single computational unit rather than as its underlying parts, allowing users to interact with a single logical device rather than being concerned with the system’s architecture.