问题标签 [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.

0 投票
3 回答
2385 浏览

scala - 使用 akka 和 scala 实现请求/响应协议的最佳方法是什么?

我一直在研究如何开发一个分布式架构,使用通过参与者并发的概念来实现协议请求/响应。

我得出的结论是,最好的方法是创建一个同步处理 Futures/Promises 的响应系统,并在响应后不久留下一个开放的通道来接收通知。

因此,这种架构可以像收件箱消息一样工作。

它有一些问题。

因此我必须维护两个端点(两层中的参与者)?

问题: 视图模块请求处理特定元素。她发送此命令以通过应用程序服务器上的 RemoteActor 进行处理。该服务器应立即返回在处理元素时将通知您的承诺。在此之后,视图模块将等待处理完成的通知。

你怎么看这个问题?

我正在使用 Scala、Akka 和 Google Guice。

我相信这是一个普遍的问题,每个人都可以利用他们的解决方案。如果我损害了 stackoverflow 网站的条款,请原谅。

提前致谢

0 投票
3 回答
3641 浏览

java - Akka远程actor服务器发现

我想在集群上部署一个用akka制作的远程演员软件。该系统由几个工作节点和一个主节点组成。问题是我无法提前知道集群节点的 IP 地址(但我知道它们都是同一个子网的一部分)。因此,我需要一种在启动后发现每个人的 IP 地址的好方法,以便在每个节点上创建正确的 actor refs。

我正在寻找在任何自由软件许可下分发的轻量级解决方案(我只需要它进行初始设置)。

0 投票
1 回答
463 浏览

java - 有界阻塞队列 Java

我正在寻找一种BoundedBlockingQueue可以采取任何其他方式Queue并使其有界和阻塞的方式。

我发现akka.util.BoundedBlockingQueue哪个可以做到这一点,但是源代码中有一些修复程序。所以我不确定使用代码是否聪明。

最后,我希望有一个 PriorityQueue 有界且可用于并发使用。

我可以使用其他一些类来完成这项任务吗?也许在 Java 7 中?

0 投票
3 回答
1059 浏览

scala - 演员信息应该扩展一个共同的特征吗?

在正确使用 scala(和 akka)actor 框架的大多数示例中,人们倾向于从单个 trait 派生每条消息。例如:

然而,在 Scala 和 Akka 中,消息接收根本没有类型。有什么理由实现一个共同的特征吗?

0 投票
1 回答
1418 浏览

akka - 配置 core-pool-size-factor 和 max-pool-size-factor 设置的一般良好做法是什么?

例如,如果 CPU 有四个核心和八个核心线程。

  • 我应该将core-pool-size-factor设置一直设置为 8 吗?
  • max-pool-size-factor相对于core-pool-size-factor 的一般大小是多少?
  • 我提到的其他设置是否与使用 Akka 配置有关?
0 投票
1 回答
483 浏览

java - Akka 是否适用于具有瞬态网络覆盖的系统?

Akka 是否适合在预计节点将进出 wifi 覆盖范围的系统中使用?必须考虑哪些方面(例如首选哪些传输协议)?

0 投票
1 回答
825 浏览

scala - MongoDB 支持的持久性还在 Akka 中吗?

我在 Akka 1.0 中找到了一些关于 mongodb 持久性的文档,但似乎在 1.2 文档中找不到任何提及它的内容。它被删除了吗?我也找不到任何说它已被删除或弃用的东西。

如果它仍在 Akka 中,任何相关文档的链接将不胜感激。

谢谢!

0 投票
2 回答
1703 浏览

java - Akka - 对象序列化期间的 StackOverflowError

我遇到了一个持续超过 2 天的问题。当我在演员之间交换消息时,正在指责 JVM 堆栈溢出。

我的消息是一个具有许多链接的对象(10000 多个子对象在一个链接列表中链接在一起)。即具有 Neo4J 关系的对象。

错误是这样的:

有没有人对此有任何解决方案?

谢谢

0 投票
3 回答
7751 浏览

scala - Akka 的 I/O 是如何工作的?

当您需要执行 I/O(即数据库操作)时,actor 模型(在 Akka 中)如何工作?

据我了解,阻塞操作会引发异常(并且由于 Akka 使用的 Netty 的事件性质,基本上会破坏所有并发性)。因此,我将不得不使用 aFuture或类似的东西 - 但是我不了解并发模型。

  1. 1个演员可以同时处理多条消息吗?
  2. 如果一个actor在a future(ie. future.get()) 中进行了阻塞调用,那么它只会阻塞当前actor的执行;还是会阻止对所有参与者的执行,直到阻塞调用完成?
  3. 如果它阻塞了所有执行,那么使用 future 辅助并发性(即将来不会调用阻塞调用仍然等于创建一个参与者并执行阻塞调用)?
  4. 处理每一步都依赖于最后一步的多阶段过程(即从数据库读取;调用阻塞 Web 服务;从数据库读取;写入数据库)的最佳方法是什么?

基本上下文是这样的:

  • 我正在使用将维护数千个会话的 Websocket 服务器。
  • 每个会话都有一些状态(即身份验证详细信息等);
  • Javascript 客户端将向服务器发送 JSON-RPC 消息,服务器会将其传递给适当的会话参与者,后者将执行它并返回结果。
  • RPC 调用的执行将涉及一些 I/O 和阻塞调用。
  • 将有大量并发请求(每个用户将通过 WebSocket 连接发出大量请求,并且会有很多用户)。

有没有更好的方法来实现这一目标?

0 投票
1 回答
1399 浏览

scala - remote.shutdown() 不会杀死 akka 远程参与者本身

客户端发送PoisonPill和“停止”信号,但遥控器永远不会自行终止。我必须通过调用 remote.shutdown() 来杀死对象 RemoteEchoServer 中的远程参与者。如何通过接收“停止”消息来关闭远程演员?

我知道 exit() 可能会直接退出服务器应用程序,但如果仍有请求需要处理怎么办。

关键是调用 remote.shutdown() 永远不会关闭远程服务(服务器应用程序),所以如果我想为演员停止服务器应用程序该怎么办