DEV Community

Discussion on: Quick Demo! Build a slack clone

Collapse
 
supabase_io profile image
Supabase

Yes 100% - we "listen" to Postgres' Logical replication, translate the binary to JSON, then blast over websockets (using an Elixir server).

Details here: github.com/supabase/realtime

Collapse
 
supabase_io profile image
Supabase

Also in the future we will be building guaranteed event consistency and replay, but probably only "per-Elixir-server" rather than "per-client".

Technical jargon ahead:
Per-server is still useful if you want to stream your events onto a queue (Kafka/SQS etc). If your database (or our servers) go offline, we can pick up where we left off since the Postgres WAL keeps track of the last point the listener "acknowledged"

Thread Thread
 
r3wt profile image
Garrett R. Morris

Very cool, i'm gonna try out supabase in my next personal project!