我有多个节点,有两种类型。
一种类型的节点将在特定服务器上执行一项工作,另一种将执行其他操作。
我们称它们为“type1”和“type2”。
我正在启动它们:
erl -pa ebin -name type1@sub1.mydomain.com -setcookie abc
erl -pa ebin -name type2@sub2.mydomain.com -setcookie abc
erl -pa ebin -name type1@sub3.mydomain.com -setcookie abc
sub1.mydomain.com、sub2.mydomain.com 和 sub3.mydomain.com 是 Internet 上的 3 个不同服务器。
显然,type2 节点在这里将两个 type1 互连在一起。Type2 服务器是唯一一个“确定”的节点,它可以让整个事情正常工作。
Type1 服务器是动态的,所以每次我运行一个新的 type1 服务器时,它都会 ping type2 服务器以连接到所有其他节点。
问题是,当至少 2 个 type1 节点启动并运行时,我需要对工作进行集群。
所以我想从nodes()返回中确定哪个节点是type1 ...
我将能够从 atom_to_string 获取字符串,然后使用返回的字符串检查 type1,但这似乎是一种错误的方法......由于限制,也无法使用特定端口。
任何建议,将不胜感激。