Logo
Pattern

Discover published sets by community

Explore tens of thousands of sets crafted by our community.

Distributed Systems Concepts

29

Flashcards

0/29

Still learning
StarStarStarStar

Two-phase Commit (2PC)

StarStarStarStar

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.

StarStarStarStar

Load Balancing

StarStarStarStar

Load balancing is the process of distributing workloads across multiple computing resources to optimize resource use, maximize throughput, and minimize response time.

StarStarStarStar

Replication

StarStarStarStar

Replication involves maintaining copies of the same data on multiple machines to ensure higher availability, fault tolerance, and improved read performance in distributed systems.

StarStarStarStar

Eventual Consistency

StarStarStarStar

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.

StarStarStarStar

Distributed Hash Table (DHT)

StarStarStarStar

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.

StarStarStarStar

CAP Theorem

StarStarStarStar

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.

StarStarStarStar

Vector Clock

StarStarStarStar

Vector clocks are a mechanism for determining the partial ordering of events in a distributed system and detecting causality between events.

StarStarStarStar

Consensus

StarStarStarStar

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.

StarStarStarStar

Sharding

StarStarStarStar

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.

StarStarStarStar

Gossip Protocol

StarStarStarStar

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.

StarStarStarStar

Atomic Broadcast

StarStarStarStar

Atomic broadcast is a communication process in a distributed system where messages are guaranteed to be delivered to all nodes in the same order.

StarStarStarStar

Scalability

StarStarStarStar

Scalability refers to the property of a system to handle a growing amount of work by adding resources to the system.

StarStarStarStar

Shared Nothing Architecture

StarStarStarStar

A distributed system architecture where each node is independent and self-sufficient, and there is no single point of contention across the system.

StarStarStarStar

Quorum

StarStarStarStar

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.

StarStarStarStar

Heartbeat

StarStarStarStar

A heartbeat is a periodic signal generated by hardware or software to indicate the normal operation or to synchronize other parts of a system.

StarStarStarStar

Raft Protocol

StarStarStarStar

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.

StarStarStarStar

Read-Write Locks

StarStarStarStar

Read-write locks are synchronization primitives that solve the readers-writers problem by allowing concurrent read access but exclusive write access to a resource.

StarStarStarStar

State Machine Replication

StarStarStarStar

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.

StarStarStarStar

Byzantine Fault Tolerance

StarStarStarStar

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.

StarStarStarStar

Transaction Log

StarStarStarStar

A transaction log is a history of actions executed by a database management system to guarantee ACID properties over crashes or hardware failures.

StarStarStarStar

Fault Tolerance

StarStarStarStar

Fault tolerance is the ability of a system to continue operating properly in the event of the failure of some of its components.

StarStarStarStar

Idempotency

StarStarStarStar

Idempotency is a property of operations in which the operation can be applied multiple times without changing the result beyond the initial application.

StarStarStarStar

Edge Computing

StarStarStarStar

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.

StarStarStarStar

Message Queue

StarStarStarStar

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.

StarStarStarStar

Distributed File System

StarStarStarStar

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.

StarStarStarStar

Paxos Protocol

StarStarStarStar

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).

StarStarStarStar

Service Discovery

StarStarStarStar

Service discovery is the automatic detection of devices and services offered by these devices on a computer network.

StarStarStarStar

Microservices Architecture

StarStarStarStar

Microservices architecture is a method of developing software systems that structures an application as a collection of loosely coupled services, which implement business capabilities.

StarStarStarStar

Synchronous and Asynchronous Systems

StarStarStarStar

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.

Know
0
Still learning
Click to flip
Know
0
Logo

© Hypatia.Tech. 2024 All rights reserved.