Chisato · · 5 min read Gossip Protocols Explained: How Clusters Share State
A gossip protocol spreads information through a cluster by having each node periodically share state with a few random peers. How it works and its trade-offs.
Topic
25 posts tagged “Distributed Systems”.
Chisato · · 5 min read A gossip protocol spreads information through a cluster by having each node periodically share state with a few random peers. How it works and its trade-offs.
Chisato · · 5 min read Tail latency is the response time of your slowest requests, measured as p99 or p999. Why averages hide it, what causes it, and how to reduce it.
Chisato · · 4 min read Byzantine fault tolerance lets a distributed system keep working correctly even when some nodes fail arbitrarily or actively lie, not just crash cleanly.
The Lycoris Team · · 4 min read The strangler fig pattern replaces a legacy system incrementally by routing traffic to new services piece by piece, until nothing old remains.
Chisato · · 5 min read Raft and Paxos both let a distributed cluster agree on a value despite failures — Raft trades some flexibility for a design built to be understood.
Chisato · · 4 min read The outbox pattern writes an event to the same database transaction as a state change, then publishes it reliably — solving the dual-write problem.
Chisato · · 4 min read A vector clock is a per-node counter array that lets distributed systems tell whether one event happened before another, without a shared clock.
The Lycoris Team · · 4 min read Quorum consensus lets distributed databases tune consistency and availability by requiring reads and writes to touch overlapping subsets of replicas.
The Lycoris Team · · 4 min read Read-your-writes consistency guarantees a client sees its own writes immediately, even when other clients might not yet. How it's implemented.
The Lycoris Team · · 5 min read Two-phase commit locks resources until every node agrees to a transaction; the saga pattern trades that guarantee for availability using compensating steps.
The Lycoris Team · · 5 min read A distributed lock coordinates exclusive access to a shared resource across multiple processes or machines, preventing race conditions in distributed systems.
Chisato · · 4 min read PACELC extends CAP theorem by adding a tradeoff that applies even when there's no partition: latency versus consistency. Here's how it works.
Chisato · · 5 min read Synchronous replication waits for a replica to confirm a write before committing; asynchronous doesn't. The choice trades latency against durability.
Chisato · · 4 min read Token bucket allows bursts up to a cap; leaky bucket smooths traffic to a constant rate. How each rate-limiting algorithm works and when to pick it.
Chisato · · 4 min read The bulkhead pattern isolates resources per dependency so one failing service can't exhaust the pools that healthy services depend on.
Chisato · · 4 min read Event sourcing stores every state change as an immutable event instead of overwriting current state. How it works, and when CQRS pairs with it.
Chisato · · 5 min read Exponential backoff spaces retries further apart after each failure so clients stop hammering a struggling service. How it works, and why it needs jitter.
Chisato · · 5 min read CQRS separates the code paths that change data from the code paths that read it. How it works, why teams adopt it, and when it's overkill.
The Lycoris Team · · 5 min read Raft is a consensus algorithm that lets a cluster of servers agree on a shared state even when some nodes fail. How leader election and log replication work.
Chisato · · 4 min read Active-active runs every region live and load-balanced; active-passive keeps a standby idle until failover. How each affects cost, consistency, and recovery.
Chisato · · 5 min read Publish-subscribe decouples senders from receivers through a message broker, letting services communicate without knowing who's listening.
The Lycoris Team · · 4 min read The saga pattern coordinates a multi-step transaction across services using local commits and compensating actions instead of a distributed lock.
The Lycoris Team · · 5 min read Two-phase commit coordinates a transaction across multiple databases with a prepare phase and a commit phase, trading availability for strong consistency.
Chisato · · 4 min read Eventual consistency guarantees that replicas converge over time, not instantly. How it differs from strong consistency and when it's acceptable.
Chisato · · 4 min read CAP theorem says a distributed system can't guarantee consistency, availability, and partition tolerance all at once. What the trade-off means in practice.