What is distributed system? Sometimes, this is very critical to define a system whether provided system is distributed or not ? well so this is completely depends on the surrounding attributed which you are looking for.
According to Andrew S. Tanenbaum
A Collection of Independent computers that appears it to users as one computer.
– Andrew S. Tanenbaum
To be truly reliable, a distributed system must have the following characteristics:
- Fault-Tolerant: It can recover from component failures without performing incorrect actions.
- Highly Available: It can restore operations, permitting it to resume providing services even when some components have failed.
- Recoverable: Failed components can restart themselves and rejoin the system, after the cause of failure has been repaired.
- Consistent: The system can coordinate actions by multiple components often in the presence of concurrency and failure. This underlies the ability of a distributed system to act like a non-distributed system.
- Scalable: It can operate correctly even as some aspect of the system is scaled to a larger size. For example, we might increase the size of the network on which the system is running. This increases the frequency of network outages and could degrade a “non-scalable” system. Similarly, we might increase the number of users or servers, or overall load on the system. In a scalable system, this should not have a significant effect.
- Predictable Performance: The ability to provide desired responsiveness in a timely manner.
- Secure: The system authenticates access to data and services
These are high standards, which are challenging to achieve. Probably the most difficult challenge is a distributed system must be able to continue operating correctly even when components fail.
If you dig out into deeper you can find, three High level characteristics of this. as follows:
- The computers operates concurrently.
- The computers fails independently: in a big or small cluster of computer , any one can fail and that would not hamper whole task.
- The computer do not share a global clock: each one of the compute is asynchronous in nature and failing of one will not impact of another.
Example of Distributed System
- Amazon.com: for end user this one interface , probably lot of system which collect the information of your query underneath server.
- Cassandra database
Few Distributed types of System[table “” not found /]
Key design goals
- High performance