Large number of nodes
Tue Sep 23 16:23:39 CEST 2003
I have a question regarding a project I am starting to design:
- 2 Servers (Replicating Mnesia and accessing back-end DBs)
- 2000 clients (Periodically quering the servers for data)
I am concerned about having all nodes connected and large amount of
network chattyness while the majority of machines are idle.
Only rarely, a server will attempt to contact a client (based on a
previous app registration) and notify it for some event has occured.
I think the following is safe:
- Start all client nodes using -connect_all false
- Start server nodes as usual
- All nodes share the same .erlang.cookie
- When a client queries a server, use erlang:disconnect_node(Node) to
cleanup the connection.
After simple testing it seems to be okay, but tough for me to recreate an
environment of 2000 nodes distributed over a national WAN.
I ran the following test: (S=Server C=Client)
S1 -> Ping S1
(Now S1 and S2 know about each other)
Start C1 with -connect_all false
C1 -> Ping S1
(C1 only knew about S1 and vice-versa, good)
(S2 still only knew of S1)
I was worried S2 would find out about C1, since S2 was not started with
-connect_all false. Can anyone explain the algoritm/process for nodes
Would using a hidden node for all clients be better?
Thanks in advance...
More information about the erlang-questions