Erlang因处理大量邮件和请求而无法接受而闻名。我没有时间下载并试图了解Erlang先生对切换理论的理解......所以我想知道是否有人可以教我(或指向一个好的教学网站。)
作为一个思想实验,我想把Erlang ejabberd移植到Python和C的组合中,这种方式给了我相同的速度和可扩展性。我需要理解和实施哪些结构或模式? (Python的Twisted已经这样做了吗?)
答案 0 :(得分:13)
How/why do functional languages (specifically Erlang) scale well?(讨论原因)
http://erlang.org/course/course.html(对于教程链)
就移植到其他语言而言,在大多数现代语言中,消息传递系统很容易实现。虽然你不会“免费”获得Erlang的内部调度功能,但可以很容易地在Python中完成功能样式。 Stackless Python可以复制Erlang的大部分并发功能,虽然我不能详细说明,因为我没有太多使用它。如果确实看起来更“明确”(因为它要求你在代码中定义并发性,Erlang的设计将允许内部发生并发)。
答案 1 :(得分:4)
Erlang不仅仅是关于可扩展性,而且主要是关于
答案 2 :(得分:2)
erlang的另一个对可扩展性有影响的功能是轻量级的廉价流程。由于进程的开销很小,因此erlang可以产生比其他大多数语言更多的内容。使用erlang进程可以获得比其他语言更多的功能。
答案 3 :(得分:1)
我认为Erlang的最佳选择是网络绑定应用程序 - 使节点和心跳监视之间的通信变得更加简单,使用Supervisor自动重启是内置于OTP中。