0% found this document useful (0 votes)
5 views

Distributed Systems - 1

A distributed system is a network of independent computers that function as a single system, contrasting with centralized systems that rely on a single server. Various architectures, such as client-server, peer-to-peer, and microservices, define how these systems operate, each with its own advantages and challenges. Distributed systems are widely used in fields like finance, cloud computing, and healthcare, offering benefits like scalability and fault tolerance, while also facing issues related to security and complexity.

Uploaded by

cossykin19
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Distributed Systems - 1

A distributed system is a network of independent computers that function as a single system, contrasting with centralized systems that rely on a single server. Various architectures, such as client-server, peer-to-peer, and microservices, define how these systems operate, each with its own advantages and challenges. Distributed systems are widely used in fields like finance, cloud computing, and healthcare, offering benefits like scalability and fault tolerance, while also facing issues related to security and complexity.

Uploaded by

cossykin19
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Distributed Systems

A distributed system is a collection of independent computers that appear


to the users of the system as a single coherent system.

Difference between centralized system and distributed system


All data and computational resources are kept and controlled in a single
central place, such as a server, in a centralized system. Applications and
users connect to this hub in order to access and handle data. Although this
configuration is easy to maintain and secure, if too many users access it
simultaneously or if the central server malfunctions, it could become a
bottleneck.

A distributed system, on the other hand, disperses data and resources over
several servers or locations, frequently across various physical places.
Better scalability and reliability are made possible by this configuration
since the system can function even in the event of a component failure.
However, because of their numerous points of interaction, distributed
systems can be more difficult to secure and administer.

Architectures of Distributed systems

Client-Server Architecture
In this setup, servers provide resources or services, and clients request
them. Clients and servers communicate over a network.
Examples: Web applications, where browsers (clients) request pages from
web servers.

Peer-to-Peer (P2P) Architecture


Each node, or “peer,” in the network acts as both a client and a server,
sharing resources directly with each other.
Examples: File-sharing networks like BitTorrent, where files are shared
between users without a central server.

Three-Tier Architecture
This model has three layers: presentation (user interface), application
(business logic), and data (database). Each layer is separated to allow
easier scaling and maintenance.
Examples: Many web applications use this to separate user interfaces,
logic processing, and data storage.

Microservices Architecture
The application is split into small, independent services, each handling
specific functions. These services communicate over a network, often
using REST APIs or messaging.
Examples: Modern web applications like Netflix or Amazon, where
different services handle user accounts, orders, and recommendations
independently.

Service-Oriented Architecture (SOA)


Similar to microservices, SOA organizes functions as services. However,
SOA typically uses an enterprise service bus (ESB) to manage
communication between services.
Examples: Large enterprise applications in finance or government, where
different services handle various aspects of business processes.

Event-Driven Architecture
Components interact by sending and responding to events rather than
direct requests. An event triggers specific actions or processes in various
parts of the system.
Examples: Real-time applications like IoT systems, where sensors trigger
actions based on detected events.

Example of a Distributed System


Any Social Media can have its Centralized Computer Network as its
Headquarters and computer systems that can be accessed by any user and
using their services will be the Autonomous Systems in the Distributed
System Architecture.

Distributed System Software: This Software enables computers to


coordinate their activities and to share the resources such as Hardware,
Software, Data, etc.
Database: It is used to store the processed data that are processed by
each Node/System of the Distributed systems that are connected to the
Centralized network.

As we can see that each Autonomous System has a common Application


that can have its own data that is shared by the Centralized Database
System. To Transfer the Data to Autonomous Systems, Centralized
System should be having a Middleware Service and should be connected
to a Network. Middleware Services enable some services which are not
present in the local systems or centralized system default by acting as an
interface between the Centralized System and the local systems. By using
components of Middleware Services systems communicate and manage
data. The Data which is been transferred through the database will be
divided into segments or modules and shared with Autonomous systems
for processing. The Data will be processed and then will be transferred to
the Centralized system through the network and will be stored in the
database.
Characteristics of Distributed System
1. Resource Sharing: It is the ability to use any Hardware, Software, or
Data anywhere in the System.
2. Openness: It is concerned with Extensions and improvements in the
system (i.e., How openly the software is developed and shared with
others)
3. Concurrency: It is naturally present in Distributed Systems, that deal
with the same activity or functionality that can be performed by
separate users who are in remote locations. Every local system has its
independent Operating Systems and Resources.
4. Scalability: It increases the scale of the system as a number of
processors communicate with more users by accommodating to
improve the responsiveness of the system.
5. Fault tolerance: It cares about the reliability of the system if there is
a failure in Hardware or Software, the system continues to operate
properly without degrading the performance the system.
6. Transparency: It hides the complexity of the Distributed Systems to
the Users and Application programs as there should be privacy in
every system.

Advantages of Distributed System


1. Scalability: Distributed systems can easily grow by adding more
computers (nodes), allowing them to handle increased demand without
significant reconfiguration.
2. Reliability and Fault Tolerance: If one part of the system fails, others
can take over, making distributed systems more resilient and ensuring
services remain available.
3. Performance: Workloads can be split across multiple nodes, allowing
tasks to be completed faster and improving overall system performance.
4. Resource Sharing: Distributed systems allow resources like data,
storage, and computing power to be shared across nodes, increasing
efficiency and reducing costs.
5. Geographical Distribution: Since nodes can be in different locations,
distributed systems can serve users globally, providing faster access to
resources based on location.

Disadvantages of Distributed System


1. Relevant Software for Distributed systems does not exist currently.
2. Security possess a problem due to easy access to data as the resources
are shared to multiple systems.
3. Networking Saturation may cause a hurdle in data transfer i.e., if there
is a lag in the network then the user will face a problem accessing data.
4. In comparison to a single user system, the database associated with
distributed systems is much more complex and challenging to manage.
5. If every node in a distributed system tries to send data at once, the
network may become overloaded.

Application Areas of Distributed Systems


1. Finance and Commerce:
a. Banking systems: Banks use distributed systems to process
transactions, manage accounts, and ensure the security of financial
data.
b. Stock exchanges: Stock exchanges rely on distributed systems to
handle high-frequency trading and ensure the integrity of market data.
c. E-commerce: Online payment systems, such as PayPal, use
distributed systems to process transactions securely and efficiently.
2. Information Society:
a. Internet and web services: The internet itself is a massive
distributed system, connecting billions of devices and enabling
communication and data exchange across the globe. Web servers,
content delivery networks (CDNs), and peer-to-peer networks all rely
on distributed systems architecture.
b. Social media platforms: Platforms like Facebook, Twitter, and
Instagram use distributed systems to handle millions of users, posts,
and interactions every second. Distributed databases, caching systems,
and content delivery networks are essential components.
3. Cloud Technologies:
a. Cloud computing: Cloud platforms like AWS, Azure, and
Google Cloud are built on distributed systems. They provide scalable and
reliable infrastructure services, such as storage, computing power, and
networking, to businesses and individuals worldwide.
b. Cloud storage: Services like Dropbox and Google Drive use
distributed systems to store and manage files across multiple servers. This
ensures data availability and durability.
c. Cloud applications: Many applications, such as email,
collaboration tools, and CRM software, are now delivered as cloud
services. These applications rely on distributed systems to provide
scalability and accessibility.
4. Entertainment:
a. Streaming services: Netflix, Spotify, and other streaming
platforms rely on distributed systems to deliver content to millions of
users simultaneously. These systems handle tasks like video encoding,
storage, content delivery, and user authentication.
b. Online gaming: Massively multiplayer online games (MMOGs)
require distributed systems to manage interactions between numerous
players in real-time. These systems handle game logic, player
synchronization, and communication.
c. Virtual and augmented reality: VR/AR applications often
involve processing large amounts of data from multiple sources, such as
sensors, cameras, and user input. Distributed systems can help handle this
data and provide a seamless user experience.
5. Healthcare:
a. Electronic health records (EHR): Distributed systems can help
manage and share patient data securely across different healthcare
providers and institutions.
b. Telemedicine: Telemedicine applications rely on distributed
systems to enable remote consultations and monitoring of patients.
c. Medical imaging: Distributed systems can be used to store and
analyze medical images, such as X-rays and MRIs, making them
accessible to healthcare professionals across different locations.
6. Transport and logistics:
a. Supply chain management: Distributed systems can help track
goods and manage logistics across complex supply chains, improving
efficiency and reducing costs.
b. Traffic management: Smart traffic systems use distributed
systems to collect and analyze data from various sources, such as
sensors and cameras, to optimize traffic flow and reduce congestion.
c. Autonomous vehicles: Self-driving cars rely on distributed
systems to process data from multiple sensors and make real-time
decisions.

You might also like