Hi guys, I have a question
I’m trying connect two distributed nodes with differents networks, but in always return false
these was my attempts:
pc1: iex --name one@william --cookie secret_token
pc2: iex --name two@uriel --cookie secret_token
pc1: iex --name one@william --cookie banana --erl ‘-kernel inet_dist_listen_min 9500’ --erl ‘-kernel inet_dist_listen_max 9500’
pc2: iex --name two@uriel --cookie banana --erl ‘-kernel inet_dist_listen_min 9500’ --erl ‘-kernel inet_dist_listen_max 9500’
pc1: iex --name email@example.com --cookie secret_token
pc2: iex --name firstname.lastname@example.org --cookie secret_token
Does anyone have any idea?
maybe it’s necessary open some network port
Open port 4369, that’s erlang port mapper daemon (epmd) https://erlang.org/doc/man/epmd.html
You may also have to activate other, higher port ranges in the firewall depending on your service
Note that the distributed Erlang protocol is really not designed for use over a WAN connection between the nodes, both in terms of its latency tolerances and mesh behavior and in terms of security considerations.
Right, to steal a joke from LYSE, distributed Erlang’s security protocol looks like this:
This space intentionally left blank
you can do erlang distribution over TLS, which is not horrible, if I understand correctly, but latency is still an issue.
@shanesveller base on your note, what would be the recommendation for building geo-redundant (resilient) solutions?
What are it’s latency tolerances?
Take your pick of rpc technologies, Jsonapi, openapi/swagger, grpc… I’m playing around with some of my own protocols (one which extends genserver over the WAN and one which extends Phoenix pubsub over the WAN) but I can’t recommend them for other people to use in prod, yet.