在erlang节点之间发送大文件

时间:2014-01-28 19:04:41

标签: sockets erlang virtual-machine

我在同一台物理计算机上安装了两个Erlang节点,我希望能够在节点之间发送大文件。

从我看到的症状看起来节点之间只有一个Tcp连接,并且发送大二进制文件阻止所有其他流量,是这种情况吗?

更有意思的是有一种方法可以让vm在节点之间使用多个连接吗?

2 个答案:

答案 0 :(得分:3)

是的,根据the manual

,您只能获得1个连接
  

握手将继续,但A被告知B有另一个   正在进行的连接尝试将被关闭(同时进行)   连接A的名字大于B的名字,按字面比较。

不确定问题中“大”意味着什么,但一般来说(和imho),设置一个单独的tcp端口来处理有效负载可能是好的,并且只使用标准的erlang消息作为信令方法(到协商端口,设置监听器等),比如建议有新的有效载荷并协商所需的任何东西。

顺便说一句,the same subject上有一个有趣的帖子,您可以尝试调整the net_*变量,看看它们是否有助于解决这些问题。

希望它有所帮助!

答案 1 :(得分:3)

不建议在erlang节点之间发送大消息, http://learnyousomeerlang.com/distribunomicon 请参阅“带宽是无限的”部分,我建议使用其他类似GFS的东西,这样就不会失去erlang的分发功能。