<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Distributed Consensus on Atharva Pandey</title><link>https://atharva.page/series/distributed-consensus/</link><description>Recent content in Distributed Consensus on Atharva Pandey</description><generator>Hugo</generator><language>en-us</language><copyright>Copyright ©</copyright><lastBuildDate>Fri, 04 Oct 2024 00:00:00 +0000</lastBuildDate><atom:link href="https://atharva.page/series/distributed-consensus/index.xml" rel="self" type="application/rss+xml"/><item><title>Lesson 3: Paxos and Beyond — When Raft isn't enough</title><link>https://atharva.page/post/fundamentals/consensus-paxos/</link><pubDate>Fri, 04 Oct 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/consensus-paxos/</guid><description>&lt;p&gt;After spending time with Raft, I found myself curious about the algorithm it was designed to replace. Paxos has a reputation: brilliant, correct, nearly impossible to implement correctly, and even harder to extend to practical systems. Leslie Lamport published the original Paxos paper in 1989, got it rejected, submitted a revised version in 1998, and it became the theoretical foundation for a generation of distributed systems. Chubby (Google&amp;rsquo;s distributed lock service), Zookeeper (the coordination service), and the precursor to Spanner all descended from Paxos thinking. Understanding why Raft was necessary requires understanding what Paxos gets right and where it falls short in practice.&lt;/p&gt;</description></item><item><title>Lesson 2: Raft Consensus — The consensus algorithm you can actually understand</title><link>https://atharva.page/post/fundamentals/consensus-raft/</link><pubDate>Fri, 26 Jul 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/consensus-raft/</guid><description>&lt;p&gt;When I first tried to understand Paxos — the original distributed consensus algorithm — I read the paper three times and still felt like I was missing something. I could follow each step individually, but I couldn&amp;rsquo;t build a mental model of why it worked or what the invariants were. Raft was designed specifically to fix that. Its paper is literally titled &amp;ldquo;In Search of an Understandability: The Raft Consensus Algorithm.&amp;rdquo; After reading it, I could explain it to someone else. That&amp;rsquo;s the bar Raft was designed to clear, and it does.&lt;/p&gt;</description></item><item><title>Lesson 1: Leader Election — Someone has to be in charge</title><link>https://atharva.page/post/fundamentals/consensus-leader-election/</link><pubDate>Thu, 16 May 2024 00:00:00 +0000</pubDate><guid>https://atharva.page/post/fundamentals/consensus-leader-election/</guid><description>&lt;p&gt;I spent three days debugging a production incident where two nodes in our cluster both believed they were the primary. Each was accepting writes. Each was replicating to followers. Each was convinced the other was dead. By the time we noticed, we had diverged state that took two more days to reconcile. That incident made me obsessive about leader election — not as an academic concept, but as a concrete engineering problem with real failure modes.&lt;/p&gt;</description></item></channel></rss>