
Explore tens of thousands of sets crafted by our community.
Distributed Systems Concepts
29
Flashcards
0/29
Replication
Replication involves maintaining copies of the same data on multiple machines to ensure higher availability, fault tolerance, and improved read performance in distributed systems.
Load Balancing
Load balancing is the process of distributing workloads across multiple computing resources to optimize resource use, maximize throughput, and minimize response time.
Vector Clock
Vector clocks are a mechanism for determining the partial ordering of events in a distributed system and detecting causality between events.
Two-phase Commit (2PC)
Two-phase Commit is a distributed algorithm that ensures atomicity in transactions across distributed systems. It consists of a prepare phase and a commit phase to achieve consensus.
CAP Theorem
The CAP Theorem posits that a distributed system can only have two of the following three guarantees at the same time: Consistency, Availability, and Partition tolerance.
Gossip Protocol
A gossip protocol is a method for spreading information in distributed systems via a 'rumor-spreading' model. This method is fault-tolerant and ensures eventual consistency.
Consensus
Consensus is a process in distributed systems to reach an agreement on a single data value among distributed processes or systems. It is crucial for ensuring coherence and coordination in fault-tolerant systems.
Distributed Hash Table (DHT)
A DHT is a class of a decentralized distributed system that provides a lookup service similar to a hash table; keys are assigned to values, and any participating node can efficiently retrieve the value associated with a given key.
Eventual Consistency
Eventual consistency is a consistency model used in distributed computing to achieve high availability by allowing for temporary inconsistencies which resolve to a consistent state given enough time.
Sharding
Sharding is a method of horizontal partitioning where a database is divided into smaller, faster, more manageable pieces, called shards, which can be spread across multiple servers.
Distributed File System
A distributed file system (DFS) is a client/server-based application that allows clients to access and process data stored on the server as if it were on their own computer.
Fault Tolerance
Fault tolerance is the ability of a system to continue operating properly in the event of the failure of some of its components.
Transaction Log
A transaction log is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures.
State Machine Replication
State machine replication is an approach to ensure the fault tolerance of a distributed system by having multiple replicas of the same application, applying changes in the same order to each replica.
Service Discovery
Service discovery is the automatic detection of devices and services offered by these devices on a computer network.
Atomic Broadcast
Atomic broadcast is a communication process in a distributed system where messages are guaranteed to be delivered to all nodes in the same order.
Microservices Architecture
Microservices architecture is a method of developing software systems that structures an application as a collection of loosely coupled services, which implement business capabilities.
Idempotency
Idempotency is a property of operations in which the operation can be applied multiple times without changing the result beyond the initial application.
Byzantine Fault Tolerance
Byzantine Fault Tolerance is the property of a system to withstand failures of some of its components, including those which give incorrect or conflicting information, similar to the Byzantine Generals' Problem.
Synchronous and Asynchronous Systems
Synchronous systems operate with a known bound on the time of communication, computation, and other operations, whereas asynchronous systems do not have such time bounds.
Paxos Protocol
Paxos is a family of protocols for solving consensus in a network of unreliable processors (i.e., having the network agree on a single value).
Shared Nothing Architecture
A distributed system architecture where each node is independent and self-sufficient, and there is no single point of contention across the system.
Message Queue
A message queue is a form of asynchronous service-to-service communication used in serverless and microservices architectures. It passes data between different components of a distributed system, often for load leveling.
Read-Write Locks
Read-write locks are synchronization primitives that solve the readers-writers problem by allowing concurrent read access but exclusive write access to a resource.
Heartbeat
A heartbeat is a periodic signal generated by hardware or software to indicate the normal operation or to synchronize other parts of a system.
Scalability
Scalability refers to the property of a system to handle a growing amount of work by adding resources to the system.
Raft Protocol
Raft is a consensus algorithm designed as an alternative to Paxos; it's meant to be more understandable while providing a similar level of fault tolerance.
Edge Computing
Edge computing refers to the processing of data at the edge of the network, closer to the source of data, to reduce latency and bandwidth use and increase the speed of data processing.
Quorum
A quorum is the minimum number of votes that a distributed transaction has to obtain in order to be allowed to perform an operation in a distributed system.
© Hypatia.Tech. 2024 All rights reserved.