[英]Going from local to remote actor messaging in AKKA
我遵循了推荐的配置:
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "127.0.0.1"
port = 0
}
}
}
我正在像这样创建我的演员系统:
implicit val system = ActorSystem("system239", ConfigFactory.load("application")).asInstanceOf[ExtendedActorSystem]
问题是我的ActorRef的路径仍然很短,即描述了本地路径。 我想念什么?
远程处理并不意味着您会自动将actor分布在节点上,因此创建本地actor仍然是本地actor,并且ActorRef
仍将是本地actor ref。 它为您提供了在各个节点之间显式部署和交互参与者的能力。
我建议您阅读http://doc.akka.io/docs/akka/2.3.14/scala/remoting.html上的文档,或者看看远程激活器模板https://www.typesafe .com / activator / template / akka-sample-remote-scala ,了解Akka Remoting的工作原理。
查看集群以分布您的系统可能也很有趣,因为它包含更多用于常见用例的工具(跨系统的单个工具,在id上分片,最终一致的数据等),并且在发生故障时更加健壮。
另外:Akka 2.3已经到了使用寿命,所以开始新的东西,或者使用2.4(或者至少使用2.3的最新版本2.3.14)可能不是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.