Distributed Systems
29 items tagged with "distributed-systems"
Patterns7
Leader Election
Designates a single instance among many to coordinate work, with automatic failover if the leader becomes unavailable.
Distributed Lock
Coordinates exclusive access to a shared resource across multiple processes or nodes that do not share memory.
Consistent Hashing
Distributes keys across nodes so that adding or removing a node remaps only a small fraction of keys.
Sharding
Horizontally partitions a data store into independent shards so capacity and load scale beyond a single node.
Scatter-Gather
Broadcasts a request to multiple recipients in parallel, then aggregates their replies into a single response.
Heartbeat
Has a component emit periodic signals so observers can detect when it has failed or become unreachable within a bounded time.
Correlation ID
Assigns a unique identifier to a request and propagates it through every service and log, so related events across a distributed system can be tied together.
Anti-Patterns2
Nanoservices
Splitting a system into services so small that coordination, network, and operational overhead vastly exceed the value of each tiny service.
Dual Write
Writing the same change to two systems in sequence without a single transaction or log, so a failure between them leaves the stores inconsistent.
Comparisons3
DynamoDB vs Cassandra
Managed AWS wide-column key-value store versus open-source Apache Cassandra for write-heavy, distributed workloads.
Postgres vs CockroachDB
The versatile single-node-first relational database versus a distributed, Postgres-compatible SQL database built for global scale.
PostgreSQL vs Cassandra
A relational ACID database for complex queries versus a distributed wide-column store built for write-heavy linear scale.
FAQs5
What is the CAP theorem?
The CAP theorem states that a distributed data store can provide at most two of three guarantees at the same time: Consistency (every read sees the la...
What is database sharding?
Sharding is a horizontal partitioning technique that splits a large dataset across multiple database instances, each holding a subset of the rows. A s...
What is eventual consistency?
Eventual consistency is a model in distributed systems where replicas may temporarily hold different values, but if no new writes occur they will all ...
What is database replication?
Replication keeps copies of a database on multiple servers, typically a primary that accepts writes and one or more replicas that receive the changes....
What is a microservice?
A microservice is a small, independently deployable service that owns a single business capability and communicates with other services over the netwo...
Glossaries10
BASE
BASE (Basically Available, Soft state, Eventual consistency) is a consistency model for distributed systems that favors availability and partition tolerance over the strict guarantees of ACID, allowing data to converge over time.
CAP Theorem
The CAP theorem states that a distributed data store can simultaneously provide at most two of three guarantees — Consistency, Availability, and Partition tolerance — forcing a trade-off when a network partition occurs.
Eventual Consistency
Eventual consistency is a guarantee that, in the absence of new updates, all replicas of a piece of data will converge to the same value over time, though reads may temporarily return stale results.
Sharding
Sharding is a database scaling technique that horizontally splits a dataset across multiple servers (shards), each holding a distinct subset of rows, so that load and storage are distributed.
Replication
Replication is the process of copying and maintaining database data across multiple servers so that the same data is available on more than one node, improving availability, fault tolerance, and read scalability.
Observability
The degree to which the internal state of a system can be understood from the external data it produces, typically its metrics, logs, and traces.
Telemetry
The automated collection and transmission of measurement data from a running system to a remote location for monitoring and analysis.
Distributed Tracing
A technique that follows a single request as it propagates across multiple services, recording timing and context at each step to reveal the end-to-end path.
Span
The basic unit of work in distributed tracing, representing a single named, timed operation with a start, an end, and contextual attributes.
Idempotent Operation
An idempotent operation produces the same result whether it is performed once or many times, so repeating it has no additional effect beyond the first successful application.