<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distributed-Systems on Escalopa</title><link>https://escalopa.com/en/tags/distributed-systems/</link><description>Recent content in Distributed-Systems on Escalopa</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>ahmed.helaly.dev@google.com (Ahmed Helaly)</managingEditor><webMaster>ahmed.helaly.dev@google.com (Ahmed Helaly)</webMaster><copyright>© 2026 Ahmed Helaly</copyright><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://escalopa.com/en/tags/distributed-systems/index.xml" rel="self" type="application/rss+xml"/><item><title>Raft Leader Election From First Principles</title><link>https://escalopa.com/en/posts/raft-leader-election-from-first-principles/</link><pubDate>Thu, 27 Mar 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/raft-leader-election-from-first-principles/</guid><description>Randomized election timeouts and term monotonicity turn competing candidates into one current leader.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/raft-leader-election-from-first-principles/featured.svg"/></item><item><title>Log Replication and the Raft Safety Story</title><link>https://escalopa.com/en/posts/log-replication-and-the-raft-safety-story/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/log-replication-and-the-raft-safety-story/</guid><description>A leader commits only entries known to be durable on a quorum, preserving one ordered history.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/log-replication-and-the-raft-safety-story/featured.svg"/></item><item><title>Designing Idempotent Consumers</title><link>https://escalopa.com/en/posts/designing-idempotent-consumers/</link><pubDate>Tue, 25 Feb 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/designing-idempotent-consumers/</guid><description>Persist the business effect and message identity in one atomic boundary whenever possible.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/designing-idempotent-consumers/featured.svg"/></item><item><title>Exactly Once Is Usually a Local Property</title><link>https://escalopa.com/en/posts/exactly-once-is-usually-a-local-property/</link><pubDate>Sat, 25 Jan 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/exactly-once-is-usually-a-local-property/</guid><description>End-to-end exactly-once claims decompose into deduplication, atomicity, and replay-safe effects.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/exactly-once-is-usually-a-local-property/featured.svg"/></item><item><title>Retries, Timeouts, and the Latency Budget</title><link>https://escalopa.com/en/posts/retries-timeouts-and-the-latency-budget/</link><pubDate>Fri, 28 Mar 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/retries-timeouts-and-the-latency-budget/</guid><description>Retries spend remaining deadline and capacity; they do not create either.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/retries-timeouts-and-the-latency-budget/featured.svg"/></item><item><title>Exponential Backoff With Jitter</title><link>https://escalopa.com/en/posts/exponential-backoff-with-jitter/</link><pubDate>Thu, 19 Jun 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/exponential-backoff-with-jitter/</guid><description>Jitter breaks synchronized retry waves while caps and deadlines bound recovery cost.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/exponential-backoff-with-jitter/featured.svg"/></item><item><title>Circuit Breakers Are Not Error Handling</title><link>https://escalopa.com/en/posts/circuit-breakers-are-not-error-handling/</link><pubDate>Thu, 05 Feb 2026 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/circuit-breakers-are-not-error-handling/</guid><description>A breaker protects a dependency and caller capacity; ordinary failures still require explicit policy.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/circuit-breakers-are-not-error-handling/featured.svg"/></item><item><title>Consistent Hashing for Practical Sharding</title><link>https://escalopa.com/en/posts/consistent-hashing-for-practical-sharding/</link><pubDate>Sat, 22 Feb 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/consistent-hashing-for-practical-sharding/</guid><description>A hash ring limits key movement, but load balance still depends on virtual nodes and key distribution.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/consistent-hashing-for-practical-sharding/featured.svg"/></item><item><title>Quorums Without the Hand Waving</title><link>https://escalopa.com/en/posts/quorums-without-the-hand-waving/</link><pubDate>Sat, 26 Oct 2024 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/quorums-without-the-hand-waving/</guid><description>Intersecting read and write quorums provide a reasoning tool, not automatic availability or freshness.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/quorums-without-the-hand-waving/featured.svg"/></item><item><title>Ordering Events in Distributed Systems</title><link>https://escalopa.com/en/posts/ordering-events-in-distributed-systems/</link><pubDate>Tue, 31 Dec 2024 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/ordering-events-in-distributed-systems/</guid><description>Choose the weakest ordering guarantee the business invariant needs and encode it per entity.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/ordering-events-in-distributed-systems/featured.svg"/></item><item><title>Outbox Pattern for Reliable Event Publishing</title><link>https://escalopa.com/en/posts/outbox-pattern-for-reliable-event-publishing/</link><pubDate>Fri, 03 Oct 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/outbox-pattern-for-reliable-event-publishing/</guid><description>Commit state and an event record together, then publish asynchronously with idempotent delivery.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/outbox-pattern-for-reliable-event-publishing/featured.svg"/></item><item><title>Saga Coordination Without Mystery</title><link>https://escalopa.com/en/posts/saga-coordination-without-mystery/</link><pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/saga-coordination-without-mystery/</guid><description>A saga is a state machine of forward actions, durable decisions, and explicit compensations.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/saga-coordination-without-mystery/featured.svg"/></item><item><title>Lease-Based Distributed Locks</title><link>https://escalopa.com/en/posts/lease-based-distributed-locks/</link><pubDate>Mon, 14 Apr 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/lease-based-distributed-locks/</guid><description>A lease bounds stale ownership only when fencing tokens protect the resource from expired holders.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/lease-based-distributed-locks/featured.svg"/></item><item><title>Read Repair and Anti-Entropy</title><link>https://escalopa.com/en/posts/read-repair-and-anti-entropy/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/read-repair-and-anti-entropy/</guid><description>Foreground repair improves observed keys while background comparison closes the long tail.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/read-repair-and-anti-entropy/featured.svg"/></item><item><title>Handling Hot Keys Before They Melt a Service</title><link>https://escalopa.com/en/posts/handling-hot-keys-before-they-melt-a-service/</link><pubDate>Fri, 20 Sep 2024 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/handling-hot-keys-before-they-melt-a-service/</guid><description>Detect skew, isolate the key, coalesce work, and change partitioning only with evidence.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/handling-hot-keys-before-they-melt-a-service/featured.svg"/></item><item><title>Load Shedding as a Correctness Feature</title><link>https://escalopa.com/en/posts/load-shedding-as-a-correctness-feature/</link><pubDate>Sun, 13 Apr 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/load-shedding-as-a-correctness-feature/</guid><description>Rejecting excess work early preserves useful throughput and bounded latency for admitted requests.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/load-shedding-as-a-correctness-feature/featured.svg"/></item><item><title>Designing for Partial Failure</title><link>https://escalopa.com/en/posts/designing-for-partial-failure/</link><pubDate>Tue, 13 May 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/designing-for-partial-failure/</guid><description>Timeout, retry, fallback, and reconciliation paths are first-class behavior, not exceptional code.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/designing-for-partial-failure/featured.svg"/></item><item><title>Version Vectors in Plain Language</title><link>https://escalopa.com/en/posts/version-vectors-in-plain-language/</link><pubDate>Thu, 26 Feb 2026 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/version-vectors-in-plain-language/</guid><description>Version vectors distinguish causality from concurrency when one scalar version cannot.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/version-vectors-in-plain-language/featured.svg"/></item><item><title>Gossip Protocols and Eventual Membership</title><link>https://escalopa.com/en/posts/gossip-protocols-and-eventual-membership/</link><pubDate>Thu, 10 Oct 2024 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/gossip-protocols-and-eventual-membership/</guid><description>Random peer exchange trades immediate agreement for scalable, failure-tolerant convergence.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/gossip-protocols-and-eventual-membership/featured.svg"/></item><item><title>A Practical Failure Detector</title><link>https://escalopa.com/en/posts/a-practical-failure-detector/</link><pubDate>Thu, 09 Oct 2025 00:00:00 +0000</pubDate><author>ahmed.helaly.dev@google.com (Ahmed Helaly)</author><guid>https://escalopa.com/en/posts/a-practical-failure-detector/</guid><description>Failure detectors produce suspicions from imperfect timing; the application decides how costly suspicion may be.</description><media:content xmlns:media="http://search.yahoo.com/mrss/" url="https://escalopa.com/en/posts/a-practical-failure-detector/featured.svg"/></item></channel></rss>