Hello,
Does it make sense to create a BEAM multi-node architecture if I plan to use it in one machine only?
To elaborate a bit more… In my system a have a complex and big supervisor tree with lots of processes etc. and I need to recreate this entire tree for each external source I support.
This means that if I call my sup tree SupA
, and I support sources Source1
, Source2
and Source3
, I will have to duplicate SupA
3 times, one for each source.
Currently, I already have that implemented, I send the source name when creating the tree so I would get a unique name for each one (and for all processes and supervisors inside SupA
too).
So, for example, for Source1
, I have SupA.Source1
something like that.
Making all the processes and supervisors have a unique name and keep track of that to call the right one is kind of a pain (I do use Registry in some places to make it a little bit nicer) so I was thinking if I could instead of running everything in a single node, create a node for each one of the sources with its own BEAM.
Does this make sense? What are the pros and cons of such an approach? Is it even a good idea?
If it is, how can I handle the node initialization? Should I just create a script that starts each node for me with the correct parameters or there is something nicer that handles that for me?
Thanks!