Skip to content

Crack SDE

Most of the content are generated by AI, with human being reviewed, edited, and revised

Menu
  • Home
  • Daily English Story
  • Tech Interviews
  • Cloud Native
  • DevOps
  • Artificial Intelligence
Menu

What is a distributed system?

Posted on 06/13/2023 by user

A distributed system is a collection of autonomous computers, connected through a network and distribution middleware, which enables computers to coordinate their activities and to share the resources of the system. The computers that are part of a distributed system may vary in size and function, ranging from workstations up to mainframe systems.

When talking about distributed systems, we consider the following parts:

Transparency: This concept refers to the idea of making the system appear as one cohesive unit, hiding the complexity of the distributed nature from the user.

  • Location transparency: This refers to the idea that a resource’s physical location in a network is irrelevant to the user. Users can interact with a remote resource as though it’s local to their own system.
  • Migration transparency: This allows resources or computation to move within a system without affecting other components or operations. This is essential in load balancing or system maintenance.
  • Replication transparency: It is the process of hiding the replication of resources or services to provide fault-tolerance and improve performance.
  • Concurrency transparency: This involves shielding the user from the awareness of concurrent execution to guarantee consistency.

Scalability: This is the ability of a system to handle an increasing amount of work by adding resources to the system.

Concurrency: This involves several computations happening within a system at the same time. This poses challenges in terms of ensuring data consistency and integrity, for which we use synchronization mechanisms like locks, semaphores, and monitors.

Fault Tolerance: This refers to the ability of a system to continue functioning correctly (possibly at a reduced level) despite the failure of some of its components. Fault tolerance can be achieved through techniques like redundancy, checkpointing, and heartbeating.

CAP Theorem: Proposed by Eric Brewer, this theorem states that it is impossible for a distributed data store to simultaneously provide more than two out of the following three guarantees:

Data Consistency: This means that all nodes in the system appear to be working with the same data. Different types of data consistency models exist, such as eventual consistency (updates propagate through the system but there will be periods where some parts of the system may have older data), and strong consistency (all updates are seen simultaneously by all nodes).

Consensus Algorithms: These algorithms help networked nodes agree on a single data value. They are crucial in maintaining consistency across distributed systems. Well-known consensus algorithms include Paxos, Raft, and Zab.

Synchronization: In distributed systems, it’s crucial to manage the order of operations and to coordinate system processes. Synchronization can be achieved through various algorithms like Lamport’s timestamps, vector clocks, or mutual exclusion algorithms like Ricart–Agrawala algorithm or Maekawa’s algorithm.

Distributed Hash Table (DHT): DHTs provide a lookup service similar to a hash table – key-value pairs are stored, and any participating node can efficiently retrieve the value associated with a given key. Popular DHT protocols include Chord, Pastry

Share this:

  • Click to share on Facebook (Opens in new window) Facebook
  • Click to share on X (Opens in new window) X

Related

Recent Posts

  • LC#622 Design Circular Queue
  • Started with OpenTelemetry in Go
  • How Prometheus scrap works, and how to find the target node and get the metrics files
  • How to collect metrics of container, pods, node and cluster in k8s?
  • LC#200 island problem

Recent Comments

  1. another user on A Journey of Resilience

Archives

  • May 2025
  • April 2025
  • February 2025
  • July 2024
  • April 2024
  • January 2024
  • December 2023
  • November 2023
  • October 2023
  • September 2023
  • August 2023
  • June 2023
  • May 2023

Categories

  • Artificial Intelligence
  • Cloud Computing
  • Cloud Native
  • Daily English Story
  • Database
  • DevOps
  • Golang
  • Java
  • Leetcode
  • Startups
  • Tech Interviews
©2025 Crack SDE | Design: Newspaperly WordPress Theme
Manage Cookie Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
View preferences
{title} {title} {title}