【问题标题】:Benefit of Erlang for collaborative real time applicationErlang 对协同实时应用的好处
【发布时间】:2012-08-29 03:46:40
【问题描述】:

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

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

【问题讨论】:

    标签: concurrency erlang fault-tolerance


    【解决方案1】:

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

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

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

    因此,我想说使用 Erlang 的最大好处不是性能(尽管 Erlang 中有些东西更轻量级和优化),而是模型的简化以及并发编程变得多么自然。

    【讨论】:

    • 感谢您非常实用的回答。我查看的大多数资源要么没有深入研究 Erlang 的实际好处(除此之外,“它在并发连接方面做得很好”),要么它的可扩展性提供优势的程度非常模糊。
    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2016-11-05
    • 1970-01-01
    • 2011-11-05
    • 2013-08-29
    • 1970-01-01
    相关资源
    最近更新 更多