scala - Akka消息限制

标签 scala concurrency akka

我正在尝试使用 Akka 实现以下场景,但遇到堆限制(内存不足错误):

  1. 用户上传一个包含大约 1000000 行的文本文件(大约 25mb)。

  2. 文件上传后,HTTP 200 OK 将发送回客户端,文件处理将在后台开始。

  3. 应处理每一行(保存到数据库,如果查找返回一些结果,则应调用外部 Web 服务来查找该行的内容并更新数据库。)

请提出方法/模式。

非常感谢!

最佳答案

有多种方法可以实现此目的,例如:

1) 使用bounded mailbox对于您的某些参与者,如果目标邮箱已满,则向此类参与者发送消息的代码将被阻止;

2) 使用work pulling model当你的一些 Actor 在空闲时“要求”更多工作时。

关于scala - Akka消息限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21776122/

相关文章:

scala - 没有类的 Scala 依赖注入(inject)

java - 使用原语从 Scala 调用 Java vararg 方法

java - 以原子方式运行两个操作

scala - 为什么列表和字符串标识符命名为 "xs"(在 Scala 和其他语言中)?

scala - Spark构建失败: Error while building spark from source

ios - CoreData 并发(用于与 CloudKit 同步)

csv - 同时写入多个 csv 文件,在 Golang 中的分区列上拆分

scala - 如何通过名称作为ActorRef获得Akka Actor ?

scala - 使用 TCP 流并将其重定向到另一个 Sink(使用 Akka Streams)

log4j - akka、spray 和 log4j2 没有正确登录