commanded / eventstore

Event store using PostgreSQL for persistence
MIT License
1.06k stars 146 forks source link

Remove distributed registry #210

Closed slashdotdash closed 4 years ago

slashdotdash commented 4 years ago

The distributed registry was an optimisation added for distributed Erlang deployments where only a single Postgres listener process was used to publish events to subscriptions running on any connected node. Unfortunately it added complexity for unquantified benefits. It also caused annoying errors to be logged whenever :global detected a duplicate named proces when nodes joined a cluster and terminated a conflicting process at random.

The simpler approach is to have a listener process running per node with local publishing. Removing the distributed registry means only a single pub/sub module is used based on Elixir's Registry.