Discover node running application in Cluster

In a small Elixir/Erlang cluster with nodes that run different applications, what would be a good way to “discover which of the nodes runs application X”?

I am very sure this is possible, but nothing I read digging through Process, Application, Node and some erlang module docs seemed to help me with what I am trying to do :confused:

It is more about the whole application, less about a specific process. Globally registering all the processes and access them that way might help, but is there also the option to globally register/find a whole application?

Use rpc:multicall/3 together with Application.started_applications/0:

:rpc.multicall(Node.list(), Application, :started_applications, [])

And it should return list of results as a first element of the returned tuple.

3 Likes