我正在尝试将数据持久保存到数据库中。我的persist方法是异步的。
class MyActor(persistenceFactory:PersistenceFactory) extends Actor {
def receive: Receive = {
case record: Record =>
// this method is asynchronous, immediate return Future[Int]
persistenceFactory.persist(record)
}
}
当应用程序在增加的负载下运行时,瓶颈就在这里,要么是我们内存不足,要么是没有可用的线程。
那么,在Akka actor的receive方法内部处理异步调用的最佳方法是什么?
最佳答案
这是一个很好的示例,说明何时应该让一个 Actor 创建另一个 Actor 来处理交互。从本质上讲,流程是这样的,并且如果可以使您更轻松,也可以使用FSM(有限状态机)。
关于multithreading - 处理Akka actor的receive方法中的异步调用的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38945950/