问题标签 [akka]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Scala 演员 - 最糟糕的做法?
我对在 Scala 中使用演员感到有点不安全。我已经阅读了有关如何做事的文档,但我想我还需要一些 DON'T 规则才能随意使用它们。我想我害怕我会以错误的方式使用它们,我什至不会注意到它。
你能想到一些东西,如果应用的话,会导致破坏 Scala 演员带来的好处,甚至是错误的结果?
scala - 作曲演员
我已经实现了可以添加到 Actors 的 Listenable/Listener trait。我想知道是否可以将这种风格的特征附加到演员而不必显式调用listenerHandler方法?
我也期待在 Akka 库中找到这个功能。我是否遗漏了某些东西,或者 Akka 是否有某些原因不包含此内容?
scala - 如何使用参与者重写具有共享依赖项的 for 循环
我们有一些代码需要运行得更快。它已经分析过了,所以我们想使用多个线程。通常我会设置一个内存队列,并让许多线程处理队列的工作并计算结果。对于共享数据,我会使用 ConcurrentHashMap 或类似的。
我真的不想再走那条路了。从我所阅读的内容来看,使用演员将产生更清晰的代码,如果我使用 akka 迁移到 1 个以上的 jvm 应该会更容易。真的吗?
但是,我不知道如何在演员中思考,所以我不知道从哪里开始。
为了更好地了解问题,这里有一些示例代码:
如果有使用演员经验的人可以建议如何将其映射到演员,我将不胜感激。
scala - 不同的 Scala Actor 实现概述
我正在尝试找到“正确”的演员实现。我意识到有一堆,选择一个有点令人困惑。就我个人而言,我对远程演员特别感兴趣,但我想完整的概述会对许多其他人有所帮助。这是一个非常笼统的问题,因此请随意回答您所了解的实现。
我知道以下 Scala Actor 实现 (SAI)。请补充缺少的。
- Scala 2.7(区别于)
- 斯卡拉 2.8
- 阿卡(http://www.akkasource.org/)
- 电梯(http://liftweb.net/)
斯卡拉兹 ( http://code.google.com/p/scalaz/ )
这些 SAI(轻量级与“重型”企业框架)的目标用例是什么?
- 他们支持远程演员吗?远程参与者在 SAI 中有哪些缺点?
- 他们的表现如何?
- 社区有多活跃?
- 他们上手有多容易?文档有多好?
- 它们有多容易扩展?
- 它们有多稳定?哪些项目正在使用它们?
- 他们的缺点是什么?
- 他们的设计原则是什么?
- 它们是基于线程还是基于事件(接收/反应)或两者兼而有之?
- 嵌套接收
- 热交换 Actor 的消息循环
java - 我应该使用 Java 中的哪个 ThreadPool?
有大量的任务。每个任务都属于一个组。要求是每组任务应该像在单个线程中执行一样串行执行,并且应该在多核(或多cpu)环境中最大化吞吐量。注意:还有大量与任务数量成正比的组。
天真的解决方案是使用 ThreadPoolExecutor 并同步(或锁定)。但是,线程会相互阻塞,吞吐量不会最大化。
有更好的主意吗?或者是否存在满足要求的第三方库?
scala - 如何扩展使用 Akka 的 Scala REST 应用程序?
我有一个使用 Akka 的 Scala 应用程序,它接收 REST 请求,对数据库进行一些操作,并向客户端响应一些信息。事实上,我的数据库操作需要很长时间,同时我的支持 REST 的参与者无法响应新请求,即使我可以同时对数据库运行大量操作。我在我的演员中使用 javax.ws.rs 注释来启用 REST 方法。
问题;使我的应用程序能够处理大量并发请求的最佳方法是什么?
编辑:我将添加一些示例代码。
EDIT2:这就是我在日志中得到的。我正在尽可能快地从浏览器发送三个请求,因为我可以切换选项卡并按 F5,但 RS bean 仍然等待第一个请求完成,然后再处理下一个请求。
scala - Scala + Akka:如何开发多机高可用集群
我们正在使用 Scala + Akka 开发一个服务器系统,用于为 Android、iPhone 和 Second Life 中的客户端提供服务的游戏。该服务器的某些部分需要高度可用,在多台机器上运行。如果其中一台服务器死机(例如硬件故障),则系统需要继续运行。我想我希望客户有一个他们将尝试连接的机器列表,类似于 Cassandra 的工作方式。
到目前为止,我在 Akka 中看到的多节点示例在我看来似乎集中在可扩展性的概念上,而不是高可用性(至少在硬件方面)。多节点示例似乎总是存在单点故障。例如,有负载均衡器,但如果我需要重新启动其中一台具有负载均衡器的机器,我的系统将遭受一些停机时间。
是否有任何示例显示 Akka 的此类硬件容错?或者,您对实现这一目标的好方法有什么想法吗?
到目前为止,我能想出的最佳答案是研究 Erlang OTP 文档,思考它们,并尝试找出如何使用 Akka 中可用的构建块将我的系统组合在一起。
但是,如果有关于如何在多台机器之间共享状态的资源、示例或想法,如果其中一台机器出现故障,事情会继续运行,我肯定会很感激他们,因为我担心我可能会重新发明轮子在这里。也许有一个多节点 STM 容器可以自动保持共享状态在多个节点之间同步?或者这很容易做到,以至于文档不会费心展示如何做的例子,或者我的研究和实验还不够彻底。任何想法或想法将不胜感激。
scala - 是否可以在 Java 1.5 上运行 AKKA?
是否可以在 Java 1.5 上运行 AKKA?我正在java.lang.UnsupportedClassVersionError: Bad version number in .class file
为se.scalablesolutions.akka.actor.LocalActorRef
. AKKA 版本在http://doc.akkasource.org/getting-started0.9.1
上
有关于 JVM 版本限制的说明