【发布时间】:2014-05-11 12:25:46
【问题描述】:
我是 Erlang 的新手。在 Erlang 中,节点由一个原子表示,例如 'name@host'。我想问一个节点如何在不增加原子数的情况下与其他节点通信?
我想构建一个可能包含数千个节点的分布式存储系统。 对于指定的节点A,它可以向集群中的任何其他节点发送/接收消息,例如:
rpc:call(Node, Module, Method, [])
但是随着节点加入和离开集群,节点A可能已经与数千个节点通信, 这样,节点 A 的 atom 数量就会不断增加,最终达到极限。 如何避免这种情况发生? 如果我使用 Pid 而不是 Node 进行通信,例如,
Pid ! Message
这种方式会增加节点 A 中的原子数吗?据说Pid中包含了远程节点的信息。
【问题讨论】:
-
请注意标签不是关键字。在标签列表中塞满与您的问题相同的词(规模、大、数字)将无助于对其进行分类。请务必阅读选择标签时出现的说明!
-
"Cluster" 在 Erlang 中有着非常特殊的含义。您可以使用 TCP 或 UDP 将节点联网而不是集群。
标签: erlang