自动连接到erlang群集

时间:2018-11-04 08:29:18

标签: erlang cluster-computing distributed

我有一个erlang应用程序,需要以分布式方式运行。

现在要形成集群,erlang节点需要共享相同的cookie值,并且可以采用以下两种方法之一进行连接-

  

net_adm:ping / 1

     

net_kernel:connect_node / 1

但是这样做,我将需要维护节点列表并以自定义方式处理故障转移。甚至在发生故障转移的情况下,如何知道要连接到哪个节点,因为在那之前可能已更改了起始节点列表。

所以任何人都可以建议如何以最少的努力来形成一个erlang集群,以后的节点可以自动加入该集群而无需给出实际的nodeList。

1 个答案:

答案 0 :(得分:2)

没有很多100%的傻瓜解决方案。我们中的许多人不时地实施了自己的解决方案。我一生中至少做过3次。

其中2个,我使用了一个外部数据库(一次是Redis,一次是MySQL),我在该数据库中注册和注销了当前的活动节点。

另一个机会,我使用了net_adm:world().erlang.hosts。看看the docs

我也知道一些项目正在推广这种工具:我认为Erlang Solutions正在使用一个工具,并且不确定LASP或Partisan还是Chris Meiklejohn的其他工具。您应该检查一下。