[erlang-questions] Distributing nodes and full awareness
Serge Aleynikov
saleyn@REDACTED
Sun Apr 19 16:40:49 CEST 2009
The global name server (with help of global_group server if global name
space is partitioned into global groups) maintains the fully
interconnected mesh of nodes. If you don't desire to have this
functionality enabled, you can disable it by passing "-connect_all
false" to the emulator at startup. However this will inhibit the global
name registration functionality. If you have a large network (such as
one of the networks we have with somewhat 400 nodes), and still would
like to take advantage of global name registration, you can partition
the global name space (via {kernel, [{global_group, [{GroupName,
Nodes}]}]} option), so that only a handful of "master" nodes maintains a
fully connected mesh, and other "auxiliary" nodes connect to one (or
some) nodes in the "master" ring.
net_adm:ping(Node) uses net_kernel and global. If you need to make sure
that all mesh connectivity is fully synchronous, you can call
global:sync() prior to issuing net_adm:ping/1.
Serge
Logan, Martin wrote:
> When net_kernel:connect_node/1 is called or net_adm:ping/1 or some such to establish a connection between nodes at some time subsequent to that connection all the nodes in the cloud of nodes will be known by the newly connected node. So, if node a connects to node b and b already knows about c and d then at some point shortly after the connection of node a node a will know about nodes b,c and d. How is this accomplished and what are the semantics. How can it be known when the transfer of all nodes in the system is completed. I notice that after a net adm ping nodes() returns a list of length n and 5 seconds later even though no new nodes have been added to the cloud it returns n + y. Can anyone save me the time of digging into the code to figure out the semantics here?
>
> Cheers,
> Martin
>
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
More information about the erlang-questions
mailing list