Elixir Mentor

Filipe Cabaco on Supabase

13 snips
Sep 21, 2024
Filipe Cabaco, an Elixir developer at Supabase, shares his insights on enhancing Supabase's real-time functionalities. He discusses the evolution of their Elixir-powered real-time engine, focusing on the challenges of implementing features like data synchronization and user presence in distributed systems. Filipe highlights the benefits of Elixir's concurrency model, its utility in managing state, and contrasts open-source solutions with Firebase's limitations. The conversation also covers effective strategies for scaling systems and navigating legacy code.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
ADVICE

Compare DevOps Hours Versus Cloud Costs

  • Consider total operational cost before self-hosting; many teams underestimate DevOps time and prefer cloud managed tiers.
  • Supabase recommends evaluating engineer hours vs cloud subscription cost since self-hosting demands DB, auth, realtime, storage maintenance.
INSIGHT

Single Consumer Node Simplifies Consistency

  • Using a single consumer node per tenant avoids many cross-region race conditions because that node serializes WAL consumption.
  • Other nodes receive broadcasts via Erlang RPC and PubSub rather than each reading the same WAL concurrently.
ADVICE

Broadcast Cache Invalidation Across Nodes

  • Use PubSub and a distributed cache like CacheX for cluster-wide events such as cache invalidation.
  • Broadcast invalidation events and let each node update its local CacheX instance to keep caches coherent across nodes.
Get the Snipd Podcast app to discover more snips from this episode
Get the app