This library was thought to be used by an application which will run in a server but, why don't we try to distribute the Galena's producers, producer-consumers, consumers to several machines?
Elixir code runs in the Erlang Virtual Machine or BEAM and therefore it can take advantage of all its distribution features.
Erlang provides the module global which helps us to registry the name of the process globally. It means that we can interact with any globally registered process after connecting the nodes.
Taking into account these ideas we can use Galena as a distributed producer-consumer system:
Check the code in Github.
Enjoy your distributed messages !!!