问题标签 [akka-actor]
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 - Akka Actors 向具体 Actor 发送消息
使用 Akka Actor 是否可以将 Actor 组织成一个环并仅向两个(左、右)邻居发送消息?
scala - 如何在 Akka Classic Actor 中记录文件名和行号?
我们使用 logback 作为 Akka 的日志记录后端,如下所述:https ://doc.akka.io/docs/akka/current/logging.html
但是如果我使用这个 logback 片段
我看到 ... [ Slf4jLogger.scala:83
] ... 作为文件名和行号,这似乎是 akka 库中的一个类。
如何获取日志记录语句的真实位置?
scala - 仅在处理完所有消息后才向 Akka actor 询问结果
我试图将一大块文本分成多个段落,并通过调用外部 API 来同时处理它。每次响应来自该段落的 API 时,都会更新一个不可变列表。
处理完段落并更新列表后,我想向 Actor 询问最终状态,以便在接下来的步骤中使用。
以下方法的问题是我永远不知道何时处理所有段落。一旦处理完所有段落并且列表是最终的,我需要取回targetStore 。
akka-actor - replyTo 在这里指的是什么?
我正在阅读这个 Akka 文档https://doc.akka.io/docs/akka/current/typed/actor-lifecycle.html#spawning-children和这个代码片段,
这是使用 Ask 模式来创建一个子actor。我的问题是关于这件作品,
它是一个代表工厂函数的lamda,它接受一个replyTo
参数,并返回一个actor。但是replyTo
这里有什么?它来自哪里,它指的是什么?很难对它有一个非常清晰的了解。
谢谢你的帮助!
scala - 如何将经典的 ActorContext 转换为类型化的
假设我定义了一些消息:
然后是下面的经典演员来处理这些消息。在创建时,我需要访问 ActorContext 但作为类型化上下文而不是经典
我知道我可以做 self.toTyped[Command] 来获取输入的自我引用。但我找不到任何与 ActorContext 类似的东西。我将如何进行转换?
scala - 在 RoundRobinPool 中获取所选演员?
如果我有这样的 RoundRobinPool
和一个处理程序
有什么办法可以吗
- 从
def requestHandler
,或 - 向刚刚处理请求的同一参与者发送后续消息
scala - 在两个演员之间使用 pipeTo 时得到 akka 死信
我有一个用例,其中我有一个演员层次结构
现在工人孩子工作并将其结果发送给它的父母(childABC,它是父母的孩子)并且那个孩子演员(childABC)将结果发送回我正在使用的父母演员pipeTo
,这里得到死信是我的代码
parent
演员:
childABC
(根据我上面给出的示例)
child
演员:
以下是日志:
请指导我我在哪里弄错了,或者pipeTo
不应该这样使用?如果是这样,我应该怎么做才能使它工作
multithreading - 是否可以在 Akka Actor 的 Actor 函数中定义线程?
假设我在 Akka Actor 中有一个带有方法的 Actor 类:
可以在这种方法中运行一个新线程吗?Akka自己的线程不会有问题吗?
java - CPU 未充分利用的消息延迟
我们有一个 Java 应用程序,我们基本上使用三个调度程序池来处理处理任务:
- 将传入消息(来自 RabbitMQ 队列)转换为另一种格式
- 序列化消息
- 将序列化消息推送到另一个 RabbitMQ 服务器
我们不知道如何开始修复它的问题是,我们在第一个问题上存在延迟。换句话说,当我们测量从“tell”到actor开始转换之间的时间时,(不总是,但经常)有高达500ms的延迟。特别奇怪的是,CPU 利用率严重不足(10-15%),邮箱几乎一直是空的,没有大量消息等待处理。我们的理解是 Akka 通常会比这更好地利用 CPU?
转换是非阻塞的,不需要 I/O。大约有。200 个参与者在该调度程序上运行,该调度程序配置为吞吐量 2 并具有 8 个线程。
系统本身有 16 个 CPU,运行着大约 400 多个线程,当然大部分是被动的。
有趣的是,其他步骤没有看到这样的延迟,但这可能可以解释为第一步已经“传播”了消息,以便其他步骤/池可以轻松消化它们。
有谁知道什么会导致这种延迟和 CPU 利用率不足,以及您通常如何改进那里的东西?
java - 使用背压播放框架 ActorFlow
当前用于 Actor 类的流实现的播放框架实现是在没有背压的情况下编写的。我想用背压actorRef
替换actorRefWithAck
. 但是演员流程是用我不熟悉的Scala编写的。任何人都可以解释如何用java编写这个类吗?
ActorFlow
类如下: