scala - Scala 如何在集群上扩展?

标签 scala erlang

我一直在学习 Erlang,但我也一直在关注其他技术,例如 Scala。有谁知道 Scala 的多节点性能与 Erlang 相比如何?

最佳答案

Scala 在某种程度上受限于 Java 线程相当繁重的事实。它不会像 Erlang 那样扩展线程数量。

说白了,不要在短期内在 Scala 中运行数以千计的 actor。 编辑 :请参阅下面的评论以了解相反的体验。在我的辩护中,我的意思是数千个线程上的数千个 Actor 。

但是,actor 不是基本语言的一部分。它们只是一个库,由于 Scala 的内在优势,它们看起来好像是语言的一部分。其重要性在于 Actor 是可替换的。 Scala 有两个重要的替代 actor 库。最著名的是 Akka,其他人已经谈到了它,我只能认为它值得认真研究。另一个是 Lift 的 actor,它采用另一种方式,通过提供更简单(和可靠)的 actor 实现来满足 Lift 自己的需求,并且不会试图超越它。

另一个有希望的发展是在 Scala 2.8 中添加了分隔的延续。分隔的延续虽然难以使用,但可以实现非常快的 actor 实现。需要明确的是,编写带有分隔延续的库(例如actor)是很困难的,但是这样的库在使用上与其他actor 库没有任何不同。

关于scala - Scala 如何在集群上扩展?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2199313/

相关文章:

scala - 我如何在 Scala 中伪造这个接口(interface)?

scala - 如何检查对象以查看其类型并返回强制转换的对象

database - 二郎 : Mnesia : Updating a single field value in a row

Erlang 正则表达式与重新加载问题

list - 如何在 Erlang 中编写模拟?

scala - Scala 的 future 如何跨多核安排

scala - 映射 Set 时避免意外删除重复项

android - 是否有适用于 Android 的 Erlang 实现?

c++ - 为 Erlang 提取 C 函数签名

Scala 函数不按名称用大括号(大括号)传递