Episode
Supervised State Replication in Elixir with Micah Cooper
- Podcast
- Elixir Wizards
- Published
- May 7, 2026
- Duration seconds
- 2820
- Processing state
processed- Canonical source
- https://smartlogic.fireside.fm/s15-e02-supervised-state-replication-elixir-micah-cooper
Actions
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.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.
Summary
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.
Topics
- Elixir
- Distributed Systems
- Data Replication
- GenServer
- Viewstamps Algorithm
- Event Sourcing
- Fault Tolerance
- Visor Library
- BEAM
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
Chapters
1:00Developer Background: Micah discusses his transition from Ruby to Elixir and his early experiences in the ecosystem.4:35Inspiration from TigerBeetle: How the design principles of the TigerBeetle database influenced the development of Visor.8:10Replicating GenServer State: A deep dive into the mechanics of updating and persisting state within a GenServer context.11:55Scaling Replication: The benefits and trade-offs of increasing the number of backup nodes in a replication algorithm.15:20Orchestration and Redundancy: Using orchestration platforms to manage synchronized and redundant nodes.22:20Distributed Systems vs. Data Replication: Clarifying the fundamental differences between these two often-confused concepts.25:45Challenges in Event Sourcing: Discussing the industry resistance to event sourcing due to its inherent complexity.