Just agreeing with all previous responses but would add that it might make 
sense in your setup to put epmd under direct management (runit, systemd, etc) 
and arrange for it to start  before either service. And another note that if 
epmd _crashes_ then existing nodes do not re-register (and that’s as fun as it 
sounds). Epmd is very reliable but I have encountered it crashing under heavy 
registration load (caused by a faulting application).

B.

> On 15 Jul 2021, at 17:53, Joan Touzet <[email protected]> wrote:
> 
> I have seen it work this way myself with these two applications. Whoever
> starts first starts epmd, and the second sees epmd running on startup
> and simply connects to that.
> 
> -Joan
> 
> On 15/07/2021 10:10, Adam Kocoloski wrote:
>> That’s typically how it works for a well-behaved Erlang application, yes. 
>> CouchDB does work this way; I’m not 100% certain about RabbitMQ but it 
>> probably does as well. Cheers,
>> 
>> Adam
>> 
>>> On Jul 15, 2021, at 5:11 AM, Andrea Brancatelli 
>>> <[email protected]> wrote:
>>> 
>>> Hello everybody, 
>>> 
>>> I have a general Erlang question but I think you could help me with
>>> that... 
>>> 
>>> I need to run CouchDB and RabbitMQ on the same set of (three) nodes, all
>>> clustered together. 
>>> 
>>> What happens with epmd? Erlang's documentation
>>> (https://erlang.org/doc/man/epmd.html) is pretty vague: "The daemon is
>>> started automatically by command erl(1) [1] if the node is to be
>>> distributed and no running instance is present."... 
>>> 
>>> So what happens? The first one between Couch and Rabbit who starts opens
>>> epmd and the second one just hooks to the already running copy?
>>> 
>>> Thanks. 
>>> 
>>> -- 
>>> 
>>> Andrea Brancatelli
>>> 
>>> 
>>> 
>>> Links:
>>> ------
>>> [1] https://erlang.org/doc/man/erl.html
>> 

Reply via email to