
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.
AI Snips
Chapters
Transcript
Episode notes
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.
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.
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.
