I’ve just published a piece on PostgreSQL EXPLAIN ANALYZE. It’s not strictly about Elixir but since PG is popular with Phoenix apps I though I’d share it here:
I recently started a blog series called “Open-source Deep Dive” where I analyse open-source projects & share my findings about them and I have published my second article in this series!
In this second installment, Broadway takes center stage! Broadway is an Elixir library for building data processing pipelines for data sources like message queues.
The article is broken down into two parts.
Part one goes over the general concepts used in Broadway like message queues and concurrency in Elixir. It also breaks down the architecture of a pipeline.
Part two dives into the implementation of certain features like rate limiting and graceful shutdowns.
thank you for your detailed article on this subject and one suggestion you could have given some details and examples on references in migration files,
i did whatever you guided on the article everything in 30 minutes and i spent a week to fix references part in migration file, i was missing to add “type: :uuid” add(:user_id, references(:users, type: :uuid, on_delete: :delete_all), null: false)
but finally i fixed it
So dozens of updates per second through pubsub is ok, it is just the live view process cannot keep up, right?
Would it make sense to store the participants info in ETS and just send a simple :updated message to the liveview, and within the liveview it can selectively peek forward the message queue and collapse all the :updated messages, grab the participants from ETS then render just once?