←back to thread

570 points davidgu | 3 comments | | HN request time: 0s | source
Show context
sorentwo ◴[] No.44525509[source]
Postgres LISTEN/NOTIFY was a consistent pain point for Oban (background job processing framework for Elixir) for a while. The payload size limitations and connection pooler issues alone would cause subtle breakage.

It was particularly ironic because Elixir has a fantastic distribution and pubsub story thanks to distributed Erlang. That’s much more commonly used in apps now compared to 5 or so years ago when 40-50% of apps didn’t weren’t clustered. Thanks to the rise of platforms like Fly that made it easier, and the decline of Heroku that made it nearly impossible.

replies(3): >>44525640 #>>44526115 #>>44535609 #
alberth ◴[] No.44526115[source]
I didn’t realize Oban didn’t use Mnesia (Erlang built-in).
replies(1): >>44526299 #
sorentwo ◴[] No.44526299[source]
Very very few applications use mnsesia. There’s absolutely no way I would recommend it over Postgres.
replies(3): >>44526730 #>>44527665 #>>44528009 #
1. asg0451 ◴[] No.44527665[source]
can you explain why?
replies(2): >>44528019 #>>44531214 #
2. spooneybarger ◴[] No.44528019[source]
Mnesia along with clustering was a recipe for split brain disasters a few years ago I assume that hasn't been addressed.
3. ahoka ◴[] No.44531214[source]
I have only worked with a product that used it, so no direct experience, but one problem that was often mentioned is split-brains happening very frequently.