我现在已经多次阅读文档(http://doc.akka.io/docs/akka/2.1.4/scala/remoting.html)并通过此处的示例(https://github.com/akka /akka/tree/master/akka-samples/akka-sample-remote)和通过其他人,我仍然无法弄清楚如何做我想做的事。我找到的最接近的答案是: 如何在 scala 中启动远程演员,但这似乎比我想象的要麻烦得多。
我有一个由 12 台机器组成的集群要处理。我想要一些类似的东西:
val system = ActorSystem("DistributedSystem", ConfigFactor.load.getConfig("distsys"))
val master = system.actorOf(Props(new Master(...)), "master")
然后在主人内部,类似于以下内容:
override def preStart() = {
for (i <- 0 until 11) {
// I want each of these actors to be created remotely on
// a different machine
context.actorOf(Props(new RemoteChild(...)), s"child$i")
}
}
看起来这将是一个相当常见的用例。是否有我遗漏的东西,或者有什么好方法可以做到这一点(就我的配置应该是什么样子,或者我真正需要多少 ActorSystems 而言)?我现在只是在努力合成一个好的解决方案。