Why is Registry local only?

A very quick rundown of your options:

  • Registry is local only
  • gproc has a global mode but the consensus is that it is unreliable. so consider it local only.
  • you can use pg (part of OTP) if you need a distributed process group (duplicate keys)
  • you can use global (part of OTP) if you need a distributed process registry (unique keys)
  • you can also use syn - you seem to already be aware of its pros/cons
  • you can also use Phoenix.Tracker, which is part of the phoenix_pubsub project, as a distributed process group (duplicate keys)

EDIT: Updated in 2023 to mention pg instead of pg2 in Erlang/OTP.

20 Likes