2012-08-29 30 views
0

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

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

回答

5

的问题是有点主观的,但我会尽量尝试回答这个问题:只要你有超过

由于长期以来二郎用户,我会说,你会看到的好处用户。 Erlang在处理并发时使用actor模型。其中一个好处是,您可以以线性方式与用户处理每个交互/会话/场景,就像您编写任何其他过程程序一样。

当您开始同时处理多个用户之间的交互时,美更加明显。然后,为每个用户启动一个小程序“程序”实例。因此,您不必处理自我扩展的难题,您只需定义角色之间的交互,Erlang虚拟机将平衡其余部分(一般来说)。因此,我想说使用Erlang的最大好处不是性能(尽管有些东西在Erlang中更加轻量级和优化),而是模型的简化以及并发编程的自然程度。

+1

谢谢你非常实际的答案。我所研究的大多数资源都没有深入研究Erlang的实际好处(除此之外,“它在并发连接方面表现很好”),或者其可扩展性提供优势的程度非常模糊。 – Andrew