Erlang对协作实时应用的好处

时间:2012-08-29 03:46:41

标签: concurrency erlang fault-tolerance

我正在研究创建实时文档编辑和聊天应用程序。我一直想学习Erlang,我想知道这是否是一个很好的项目来试试。

具体来说,在什么时候我会开始看到Erlang的容错和轻量级进程的好处,比如在Mongrel或LAMP堆栈上运行的Rails应用程序?它会是100个并发用户吗? 1000? 100000?基本上,我不知道学习一门新语言是否值得,或者我目前的技能是否足够。谢谢!

1 个答案:

答案 0 :(得分:5)

这个问题有点主观,但无论如何我都会尝试回答:

作为Erlang的长期用户,我会说,只要您拥有 1 用户,就会看到好处。 Erlang在处理并发时使用actor模型。其中一个好处是,您可以以线性方式处理每个交互/会话/场景,就像编写任何其他程序程序一样。

当您开始同时处理多个用户之间的交互时,美感会变得更加明显。然后为每个用户启动一个小“程序程序”实例。因此,您不必自己处理扩展的难点,只需定义actor之间的交互,Erlang VM将平衡其余部分(一般来说)。

因此,我认为使用Erlang的最大好处不是性能(尽管有些东西在Erlang中更轻量级并且已经过优化),但是模型的简化以及并发编程变得多么自然。