Erlang协作实时应用的益处

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

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


这个问题有点主观,但我会尽力回答:

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

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

因此,我认为使用Erlang的最大好处不在于性能(尽管在Erlang中有些东西更加轻量级和优化),而是模型的简化以及并发编程的自然程度。

链接地址: http://www.djcxy.com/p/43193.html

上一篇: Benefit of Erlang for collaborative real time application

下一篇: Is F# really faster than Erlang at spawning and killing processes?