<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Distributed Systems Handbook</title>
    <link>https://gorkemsari.github.io/distributed-systems/en/whats-new/</link>
    <atom:link href="https://gorkemsari.github.io/distributed-systems/rss.xml" rel="self" type="application/rss+xml"/>
    <description>New and rewritten pages of the Distributed Systems Handbook.</description>
    <language>en</language>
    <lastBuildDate>Wed, 11 Nov 2026 06:00:00 +0000</lastBuildDate>
    <item>
      <title>Leaderless Replication (Dynamo-style): Quorum R + W &gt; N</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/replication/leaderless-replication/</link>
      <guid isPermaLink="false">data-management/replication/leaderless-replication#2026-11-11</guid>
      <pubDate>Wed, 11 Nov 2026 06:00:00 +0000</pubDate>
      <description>How Dynamo-style stores send every write to N replicas and wait for W, read R, and why overlapping quorums still fall short of linearizability.</description>
    </item>
    <item>
      <title>Multi-Leader Replication: Write Conflicts and Resolution</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/replication/multi-leader-replication/</link>
      <guid isPermaLink="false">data-management/replication/multi-leader-replication#2026-11-10</guid>
      <pubDate>Tue, 10 Nov 2026 06:00:00 +0000</pubDate>
      <description>How several leaders accept writes and replicate to each other, why concurrent writes conflict, and how detection and resolution must converge in production.</description>
    </item>
    <item>
      <title>Replication Lag Problems: Read-Your-Own-Writes</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/replication/replication-lag/</link>
      <guid isPermaLink="false">data-management/replication/replication-lag#2026-11-09</guid>
      <pubDate>Mon, 09 Nov 2026 06:00:00 +0000</pubDate>
      <description>Why reads from lagging followers break read-your-writes, monotonic and prefix order, and how time windows, LSN/GTID tokens and waits restore them.</description>
    </item>
    <item>
      <title>Failover and Leader Election: The Split-Brain Risk</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/replication/failover-leader-election/</link>
      <guid isPermaLink="false">data-management/replication/failover-leader-election#2026-11-08</guid>
      <pubDate>Sun, 08 Nov 2026 06:00:00 +0000</pubDate>
      <description>How a replicated database detects a failed leader, elects one successor without losing acknowledged writes, and fences the old one, with real tools.</description>
    </item>
    <item>
      <title>Leader-Based Replication: Synchronous vs. Asynchronous</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/replication/leader-based-replication/</link>
      <guid isPermaLink="false">data-management/replication/leader-based-replication#2026-11-07</guid>
      <pubDate>Sat, 07 Nov 2026 06:00:00 +0000</pubDate>
      <description>How a leader ships an ordered change log to followers, what async, semi-sync and sync acks guarantee, and how PostgreSQL, MySQL and MongoDB do it.</description>
    </item>
    <item>
      <title>Data Partitioning / Sharding</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/</link>
      <guid isPermaLink="false">data-management/data-partitioning#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How a dataset too large for one node is split so each key has one owner, why placement trades locality for load spread, and how to read this chapter.</description>
    </item>
    <item>
      <title>Secondary Indexes in Partitioned Data: Local vs. Global</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/secondary-indexes/</link>
      <guid isPermaLink="false">data-management/data-partitioning/secondary-indexes#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How secondary indexes work in partitioned stores: local indexes that scatter reads, global ones that fan out writes, how each stays correct, and failures.</description>
    </item>
    <item>
      <title>Colocated Joins: Placing Related Data on the Same Shard</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/colocated-joins/</link>
      <guid isPermaLink="false">data-management/data-partitioning/colocated-joins#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How one placement key for related tables makes distributed joins and transactions local, how Citus, Vitess and Spanner do it, and how colocation fails.</description>
    </item>
    <item>
      <title>Dynamic Rebalancing: Zero-Downtime Strategies</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/dynamic-rebalancing/</link>
      <guid isPermaLink="false">data-management/data-partitioning/dynamic-rebalancing#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How partitioned stores move data between nodes under live traffic: copy, catch-up and fenced cutover, with Kafka, MongoDB and Vitess, and how moves fail.</description>
    </item>
    <item>
      <title>Consistent Hashing and Virtual Nodes (vnodes)</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/consistent-hashing/</link>
      <guid isPermaLink="false">data-management/data-partitioning/consistent-hashing#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How a hash ring moves only a minimal share of keys on membership change, why virtual nodes fix skew, and how vnode count trades balance for repair cost.</description>
    </item>
    <item>
      <title>Skew and Hot-Spot Problems: Real-World Scenarios</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/skew-hot-spots/</link>
      <guid isPermaLink="false">data-management/data-partitioning/skew-hot-spots#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>Why a partitioned system is limited by its hottest partition, where skew comes from, how to find heavy keys, and which techniques remove hot spots.</description>
    </item>
    <item>
      <title>Hash Partitioning: Uniform Distribution</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/hash-partitioning/</link>
      <guid isPermaLink="false">data-management/data-partitioning/hash-partitioning#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How hash partitioning maps keys via modulo, fixed slots or hash ranges, how uniform the result really is, and how mismatched hashes and resizing break it.</description>
    </item>
    <item>
      <title>Key-Range Partitioning: Advantages and Range Scans</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/data-management/data-partitioning/key-range-partitioning/</link>
      <guid isPermaLink="false">data-management/data-partitioning/key-range-partitioning#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How range-partitioned stores split sorted keys, route and split ranges under live traffic, and why the order that makes scans cheap creates hot spots.</description>
    </item>
    <item>
      <title>Communication Protocols &amp; API Design</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/</link>
      <guid isPermaLink="false">communication#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How services exchange requests and events over an unreliable network, and how this part&#x27;s chapters on calls, messaging, contracts and balancing fit.</description>
    </item>
    <item>
      <title>Load Balancing</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/</link>
      <guid isPermaLink="false">communication/load-balancing#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How interchangeable replicas are made to act as one service, why each balancing decision trades information quality for cost, and how to read this chapter.</description>
    </item>
    <item>
      <title>Health-Aware Routing and Connection Draining</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/health-aware-routing/</link>
      <guid isPermaLink="false">communication/load-balancing/health-aware-routing#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How load balancers combine health checks with outlier detection, why ejection caps and panic thresholds matter, and how to drain a backend cleanly.</description>
    </item>
    <item>
      <title>Global Server Load Balancing (GSLB) and Anycast</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/gslb-anycast/</link>
      <guid isPermaLink="false">communication/load-balancing/gslb-anycast#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>How DNS-based global load balancing and BGP anycast steer users across regions, how fast each reacts to failure, and why production edges combine the two.</description>
    </item>
    <item>
      <title>Client-Side vs. Server-Side Load Balancing</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/client-vs-server-side/</link>
      <guid isPermaLink="false">communication/load-balancing/client-vs-server-side#2026-11-06</guid>
      <pubDate>Fri, 06 Nov 2026 06:00:00 +0000</pubDate>
      <description>Whether load balancing runs in a proxy tier or inside every client, and how that choice shapes discovery, failure detection and connection counts.</description>
    </item>
    <item>
      <title>Algorithms: Round Robin, Least Connections, Weighted, Consistent Hashing</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/algorithms/</link>
      <guid isPermaLink="false">communication/load-balancing/algorithms#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How round robin, least connections, weighted and hash-based balancing pick a backend, what each actually equalizes, and how each fails in production.</description>
    </item>
    <item>
      <title>L4 vs. L7 Load Balancing: Transport vs. Application Layer</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/load-balancing/l4-vs-l7/</link>
      <guid isPermaLink="false">communication/load-balancing/l4-vs-l7#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How layer 4 balancers pin flows from packet headers, how layer 7 proxies terminate and re-issue each request, and what each costs in CPU and failures.</description>
    </item>
    <item>
      <title>API Gateway and Service Contracts</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/</link>
      <guid isPermaLink="false">communication/api-gateway#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How request-response APIs are exposed safely across teams, why edge policies are cheap but not authoritative, and how to read this chapter&#x27;s six topics.</description>
    </item>
    <item>
      <title>Throttling and Rate Limiting at the Gateway Level</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/throttling-rate-limiting/</link>
      <guid isPermaLink="false">communication/api-gateway/throttling-rate-limiting#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How API gateways enforce per-caller rate limits across many instances: local vs. global counters, the 429 contract, product differences, and failures.</description>
    </item>
    <item>
      <title>Idempotency and Safe HTTP Methods</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/idempotency/</link>
      <guid isPermaLink="false">communication/api-gateway/idempotency#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>What safe and idempotent HTTP methods allow, how idempotency keys make POST retries safe, and how lease expiry and replica reads bring duplicates back.</description>
    </item>
    <item>
      <title>Consumer-Driven Contract Testing (Pact)</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/contract-testing/</link>
      <guid isPermaLink="false">communication/api-gateway/contract-testing#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How consumer-driven contracts with Pact capture real consumer expectations, verify them against providers, and become a deployment gate, plus how they fail.</description>
    </item>
    <item>
      <title>OpenAPI / Swagger: Contract-First Development</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/openapi-swagger/</link>
      <guid isPermaLink="false">communication/api-gateway/openapi-swagger#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How OpenAPI models an HTTP API, how a contract-first pipeline lints, diffs, mocks and validates it, and what that pipeline cannot prove in production.</description>
    </item>
    <item>
      <title>Backend for Frontend (BFF) Pattern</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/bff-pattern/</link>
      <guid isPermaLink="false">communication/api-gateway/bff-pattern#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How a Backend for Frontend composes data for one client, why it must stay free of domain rules, and how its fan-out latency and failures add up.</description>
    </item>
    <item>
      <title>API Gateway Pattern: Single Entry Point, Routing, Auth</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/api-gateway/api-gateway-pattern/</link>
      <guid isPermaLink="false">communication/api-gateway/api-gateway-pattern#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How an API gateway routes and authenticates requests at the edge, which invariants keep edge authentication sound, and how a shared entry layer fails.</description>
    </item>
    <item>
      <title>Asynchronous Messaging Fundamentals</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/</link>
      <guid isPermaLink="false">communication/async-messaging#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>Why a durable broker trades immediate, visible failure for delayed, invisible failure, and how to read this chapter&#x27;s eight messaging topics.</description>
    </item>
    <item>
      <title>Dead Letter Queues and Poison Message Handling</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/dlq-poison-messages/</link>
      <guid isPermaLink="false">communication/async-messaging/dlq-poison-messages#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How consumers tell poison messages from transient failures, how bounded retries and dead-letter queues prevent stalls, and how to redrive a DLQ safely.</description>
    </item>
    <item>
      <title>Schema Evolution and Schema Registry: Avro, Protobuf, and Compatibility Modes</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/schema-evolution-registry/</link>
      <guid isPermaLink="false">communication/async-messaging/schema-evolution-registry#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How message schemas evolve without breaking readers, what each compatibility mode guarantees, and how Avro, Protobuf and a schema registry enforce it.</description>
    </item>
    <item>
      <title>AsyncAPI: Documenting Asynchronous Contracts</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/asyncapi/</link>
      <guid isPermaLink="false">communication/async-messaging/asyncapi#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How an AsyncAPI document describes an application&#x27;s channels and messages, what it can guarantee across independent services, and how to keep it accurate.</description>
    </item>
    <item>
      <title>At-Least-Once, At-Most-Once, and Exactly-Once Semantics</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/delivery-semantics/</link>
      <guid isPermaLink="false">communication/async-messaging/delivery-semantics#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>Why lost messages and lost acks force a choice between loss and duplicates, and how deduplication turns at-least-once delivery into exactly-once effects.</description>
    </item>
    <item>
      <title>RabbitMQ: Exchange Types and Routing</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/rabbitmq/</link>
      <guid isPermaLink="false">communication/async-messaging/rabbitmq#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How RabbitMQ routes messages through exchanges and bindings, how each exchange type matches, and what happens to unroutable messages.</description>
    </item>
    <item>
      <title>Pulsar vs. Kafka: Architectural Comparison</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/pulsar-vs-kafka/</link>
      <guid isPermaLink="false">communication/async-messaging/pulsar-vs-kafka#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How Pulsar separates stateless brokers from BookKeeper storage, how that differs from Kafka&#x27;s broker-owned logs, and what each costs to operate.</description>
    </item>
    <item>
      <title>Kafka Architecture: Topic, Partition, Consumer Group, Offset</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/kafka-architecture/</link>
      <guid isPermaLink="false">communication/async-messaging/kafka-architecture#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How Kafka builds replicated, ordered partitions, how the ISR and high watermark decide which acknowledged writes survive, and what offsets mean.</description>
    </item>
    <item>
      <title>Message Queue vs. Event Streaming: Differences and Use Cases</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/async-messaging/message-queue-vs-event-streaming/</link>
      <guid isPermaLink="false">communication/async-messaging/message-queue-vs-event-streaming#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>How queues delete messages on acknowledgement while event logs keep an ordered history read by offset, and how that decides ordering, replay and fan-out.</description>
    </item>
    <item>
      <title>Synchronous Communication Protocols</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/</link>
      <guid isPermaLink="false">communication/synchronous-protocols#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>Why a caller waiting on a remote answer inherits the callee&#x27;s latency and failures, how the protocols compare, and how to read this chapter&#x27;s seven topics.</description>
    </item>
    <item>
      <title>API Versioning Strategies</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/api-versioning/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/api-versioning#2026-11-05</guid>
      <pubDate>Thu, 05 Nov 2026 06:00:00 +0000</pubDate>
      <description>What makes an API change breaking, where version identifiers can live and how that affects routing and caching, and how to retire old versions safely.</description>
    </item>
    <item>
      <title>WebSocket and Server-Sent Events: Real-Time Communication</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/websocket-sse/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/websocket-sse#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How WebSocket handshakes and framing work, how Server-Sent Events stream and resume, and how to run and drain millions of long-lived connections.</description>
    </item>
    <item>
      <title>GraphQL: Query Language and Federation Architecture</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/graphql/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/graphql#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How GraphQL executes client-shaped queries, why resolvers cause N+1 fan-out and how batching fixes it, how to bound query cost, and how federation works.</description>
    </item>
    <item>
      <title>gRPC Streaming: Unary, Server-Streaming, Bi-directional</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/grpc-streaming/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/grpc-streaming#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How gRPC&#x27;s four call types map onto HTTP/2 streams, how flow control becomes backpressure, and why long-lived streams break retries and balancing.</description>
    </item>
    <item>
      <title>gRPC &amp; Protocol Buffers: High-Performance RPC</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/grpc-protocol-buffers/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/grpc-protocol-buffers#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How Protocol Buffers encodes messages and stays compatible, how gRPC maps calls onto HTTP/2 with deadlines and cancellation, and how the stack fails.</description>
    </item>
    <item>
      <title>HTTP/2 and HTTP/3: Multiplexing, HOL Blocking, and QUIC</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/http2-http3-quic/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/http2-http3-quic#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How HTTP/2 multiplexes streams over one TCP connection, why head-of-line blocking survives it, and how HTTP/3 over QUIC removes it, at what cost.</description>
    </item>
    <item>
      <title>REST: Constraints, Resources, and HTTP Contracts</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/communication/synchronous-protocols/rest/</link>
      <guid isPermaLink="false">communication/synchronous-protocols/rest#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>What REST constraints buy and cost, how HTTP methods, status codes and cache headers form a contract, and how lost updates and duplicates break it.</description>
    </item>
    <item>
      <title>Distributed ID Generation: UUIDv7, Snowflake, ULID</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/distributed-id-generation/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/distributed-id-generation#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>Where uniqueness comes from in Snowflake, UUIDv7 and ULID, how they handle bursts and backward clocks, how ordering affects indexes, and how they fail.</description>
    </item>
    <item>
      <title>Google TrueTime &amp; Spanner: Working with Uncertainty</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/truetime-spanner/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/truetime-spanner#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How TrueTime turns clock error into a bounded interval, how Spanner&#x27;s commit wait yields external consistency, what it costs, and what a wrong bound breaks.</description>
    </item>
    <item>
      <title>Hybrid Logical Clocks (HLC): Combining Physical and Logical Time</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/hybrid-logical-clocks/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/hybrid-logical-clocks#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How hybrid logical clocks keep causality while staying close to wall time, what they enable for MVCC snapshots, and how one bad clock spreads.</description>
    </item>
    <item>
      <title>Vector Clocks: Detecting Concurrency</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/vector-clocks/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/vector-clocks#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How vector clocks capture happened-before exactly, how version vectors apply them to replicated data, what the metadata costs, and how they break.</description>
    </item>
    <item>
      <title>Lamport Timestamps: Capturing Causality</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/lamport-timestamps/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/lamport-timestamps#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>How Lamport timestamps never invert a causal pair, how a tie-break yields a total order, how Raft terms and Paxos ballots use it, and how implementations fail.</description>
    </item>
    <item>
      <title>The Happened-Before Relation: Foundation of Causality</title>
      <link>https://gorkemsari.github.io/distributed-systems/en/foundations/time-and-ordering/happened-before/</link>
      <guid isPermaLink="false">foundations/time-and-ordering/happened-before#2026-11-04</guid>
      <pubDate>Wed, 04 Nov 2026 06:00:00 +0000</pubDate>
      <description>Lamport&#x27;s happened-before relation as the order a distributed system can actually observe, why it defines causality, and what it makes possible.</description>
    </item>
  </channel>
</rss>
