Erlang 在处理大量消息和请求方面享有盛誉。我没有时间下载并尝试深入了解 Erlang 先生对切换理论的理解......所以我想知道是否有人可以教我(或指向一个好的教学网站。)
假设作为一个思想实验,我想将 Erlang ejabberd 移植到 Python 和 C 的组合中,以一种给我相同的速度和可扩展性的方式。我必须理解和实施哪些结构或模式?(Python 的 Twisted 是否已经这样做了?)
Erlang 在处理大量消息和请求方面享有盛誉。我没有时间下载并尝试深入了解 Erlang 先生对切换理论的理解......所以我想知道是否有人可以教我(或指向一个好的教学网站。)
假设作为一个思想实验,我想将 Erlang ejabberd 移植到 Python 和 C 的组合中,以一种给我相同的速度和可扩展性的方式。我必须理解和实施哪些结构或模式?(Python 的 Twisted 是否已经这样做了?)
函数式语言(特别是 Erlang)如何/为什么能够很好地扩展?(讨论原因)
http://erlang.org/course/course.html(用于教程链)
至于移植到其他语言,使用大多数现代语言很容易实现消息传递系统。获得函数式风格可以在 Python 中轻松完成,尽管您不会“免费”获得 Erlang 的内部调度功能。Stackless Python 可以复制 Erlang 的大部分并发特性,虽然我不能说细节,因为我没有太多使用它。If 确实看起来更“明确”(因为它要求您在 Erlang 的设计允许内部发生并发的地方定义代码中的并发)。
Erlang 不仅是关于可扩展性,而且主要是关于
erlang 的另一个影响可伸缩性的特性是轻量级廉价进程。由于进程的开销很小,erlang 可以产生比大多数其他语言更多的进程。与许多其他语言相比,您使用 erlang 进程可以获得更多的收益。
我认为 Erlang 的最佳选择是网络绑定应用程序 - 使节点之间的通信更加简单,并且诸如心跳监控、使用主管自动重启等功能都内置在 OTP 中。