具有多个名称的分布式Erlang节点

时间:2013-08-11 07:33:04

标签: erlang distributed-system

是否可以配置具有多个长节点名称的erlang节点?以下是两个用例:

  1. 我在一台机器上运行了一个erlang节点,该机器有多个IP,分别为172.16.1.2和172.17.1.2。群集中的其他节点需要能够通过任一IP地址向此节点发送消息。所以我需要节点的名称为x@172.16.1.2和x@172.17.1.2。

  2. 我在IPC和RPC设置中都使用该节点。同一台机器中的其他进程通过127.0.0.1与该节点通信(假设这些进程不知道外部IP)。节点还需要通过外部IP与外部世界通信。因此,使用x@127.0.0.1和x @运行节点是理想的。

  3. 感谢。

1 个答案:

答案 0 :(得分:2)

erlang节点不能有多个名称。这是设计的。例如,最多可以有一个erl_epmd服务器负责将名称注册到epmd

尽管如此,您可以使用主机名而不是IP 来解决您的用例。每个节点将在本地解析名称。您可以使用系统/etc/hosts文件或inetrc文件来实现此目的。

最终,您可能希望使用短名称而不是长名称。