我有两个节点:'test@rabbit001' 'test@rabbit002'。
有一个DNS记录test,它是rabbit001和rabbit002之间的循环。
首先,我尝试使用它的主机名连接到节点,它很好:
(test@rabbit002)54> net_kernel:connect('test@rabbit001').
truetest@rabbit002日志: http:// pastebin.com/yELBpE82 82
test@rabbit001日志: http:// pastebin.com/iF23UPgf
然后,当我试图使用该DNS记录连接到节点时:
(test@rabbit002)57> net_kernel:connect('test@test').
falsetest@rabbit002日志:http://pastebin.com/M6FbUTDH
test@rabbit001日志:http://pastebin.com/rfH0HsEK
可以让他们正确地沟通吗?
网络不是一个问题,我已经确认,当我尝试从net_kernel进行net_kernel:connect时,实际的net_kernel:connect函数是在'test@rabbit001'上调用的。
发布于 2015-03-03 16:16:38
不,不可能使用循环的DNS记录来平衡Erlang节点间的通信.节点名称不仅用于解析主机名,而且远程节点必须使用完全相同的名称。您必须在Erlang中实现某种负载平衡。
https://stackoverflow.com/questions/28836161
复制相似问题