可能/实用的Erlang节点数 [英] Number of Erlang nodes possible/practical?

查看:160
本文介绍了可能/实用的Erlang节点数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

1)Erlang网络中可能存在的最大理论数量是什么(理论上的可能意味着语言允许或不允许)?



2)Erlang网络中可以存在的节点的实际数量是多少?我知道这可能会因为各种因素而有很大差异。如果你想给我一些数字,你可以假设每个节点是一个可以通过互联网访问的单独的机器,而不是通过局域网(我认为这是可能的),而且每个机器只是平均性能的通用桌面PC 。事实上,您可以假设平均为任何您需要的假设(平均延迟,平均带宽,即电缆调制解调器等)。



3)最大数量已知存在的Erlang网络中的节点?



与上述问题相关...每个节点是否都保持与所有其他节点的TCP连接?所以如果你有数以千计的节点??



如果有任何区别,我不是为了琐事而提出这些问题。他们是可能的项目的探索性问题。



谢谢。

解决方案

1)无限制,Erlang语言不自行指定任何限制。这将取决于运行时实现。



2)通常我不会使用Erlang的内置分发来通过互联网进行事情。防火墙往往会使事情发生很大的变化,目前的实现并不是真正针对这种用例。相反,这意味着要在LAN中使用,您可以更好地控制环境。



如果您想通过Internet连接节点,那么应该这样做使用构建在tcp堆栈顶部的另一个协议。 3)我听说过人们有点超过100,但事情开始退化,因为所有节点都是以全网状连接的。



有关更大的讨论,请查看: http ://learnyousomeerlang.com/distribunomicon#fallacies-of-distributed-computing


1) What's the largest theoretical number of nodes that can exist in an Erlang network ('theoretical' perhaps meaning 'whatever is allowed or disallowed by the language')?

2) What's the practical number of nodes that can exist in an Erlang network? I know this could probably vary hugely depending on a variety of factors. If you want to throw me some numbers, you can assume each node is a separate machine accessible through the internet, not through a LAN (I assume this is possible?), and each machine is simply a 'generic desktop PC' of average performance. In fact, you can assume 'average' for anything you need an assumption for (average latency, average bandwidth i.e. cable modem, etc).

3) What's the largest number of nodes in an Erlang network that is known to have existed?

Related to above questions... doesn't each node keep a tcp connection to all other nodes? So if you were to have thousands of nodes... ?

If it makes any difference, I'm not asking these questions for trivia purposes. They are exploratory questions for a possible project.

Thanks.

解决方案

1) unlimited, Erlang the language does not it self specify any limitations to this. It will depend on the runtime implementation.

2) Normally I would not use Erlang's built in distribution for doing things over the internet. Firewalls tend to screw things up a lot, and the current implementation is not really aimed at that use case. Rather it is meant to be used in a LAN where you have more control over the environment.

If you do want to connect nodes using over the Internet then you should do so using another protocol built on top of the tcp stack.

3) I've heard of people getting it a bit over 100, but after that things start to degenerate because all nodes are connected in a full mesh.

For a larger discussion have a look at this: http://learnyousomeerlang.com/distribunomicon#fallacies-of-distributed-computing

这篇关于可能/实用的Erlang节点数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆