# Supervised State Replication in Elixir with Micah Cooper Page: https://stenobird.com/podcast/elixir-wizards/supervised-state-replication-in-elixir-with-micah-cooper Text version: https://stenobird.com/podcast/elixir-wizards/supervised-state-replication-in-elixir-with-micah-cooper.md Podcast: [Elixir Wizards](https://stenobird.com/podcast/elixir-wizards) Published: 2026-05-07T10:00:00+00:00 Episode link: https://smartlogic.fireside.fm/s15-e02-supervised-state-replication-elixir-micah-cooper Audio file: https://aphid.fireside.fm/d/1437767933/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/ed9443b4-16a8-4cf2-ac69-af6e6b9bfe4a.mp3 Processing state: processed JSON: https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/supervised-state-replication-in-elixir-with-micah-cooper Duration seconds: 2820 ## Resource Explore the mechanics of state replication in Elixir using the Viewstamps algorithm. Micah Cooper discusses building Visor, a library designed to replicate GenServer state across distributed nodes for enhanced fault tolerance. ## Highlights - Main idea: Visor uses the Viewstamps replication algorithm to synchronize GenServer state across multiple nodes - Practical takeaway: Distinguishing between distributed systems and data replication is critical for designing reliable Elixir applications - Failure mode: Event sourcing can introduce significant complexity and memory overhead if history management and snapshotting are not handled - Technical insight: Replicating a Write-Ahead Log (WAL) is a foundational pattern for achieving consistency in distributed databases - Design philosophy: Building for curiosity and experimentation allows developers to push the boundaries of the BEAM ecosystem ## Topics Elixir, Distributed Systems, Data Replication, GenServer, Viewstamps Algorithm, Event Sourcing, Fault Tolerance, Visor Library, BEAM ## Chapters - 1:00 — Developer Background: Micah discusses his transition from Ruby to Elixir and his early experiences in the ecosystem. - 4:35 — Inspiration from TigerBeetle: How the design principles of the TigerBeetle database influenced the development of Visor. - 8:10 — Replicating GenServer State: A deep dive into the mechanics of updating and persisting state within a GenServer context. - 11:55 — Scaling Replication: The benefits and trade-offs of increasing the number of backup nodes in a replication algorithm. - 15:20 — Orchestration and Redundancy: Using orchestration platforms to manage synchronized and redundant nodes. - 22:20 — Distributed Systems vs. Data Replication: Clarifying the fundamental differences between these two often-confused concepts. - 25:45 — Challenges in Event Sourcing: Discussing the industry resistance to event sourcing due to its inherent complexity. ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/elixir-wizards/episodes/supervised-state-replication-in-elixir-with-micah-cooper/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/elixir-wizards/supervised-state-replication-in-elixir-with-micah-cooper.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.