【问题标题】:AKKA: Confusion about programmatic remote deploymentAKKA:关于程序化远程部署的困惑
【发布时间】:2017-06-15 18:30:44
【问题描述】:

我正在使用akka remote deployment。我使用日志记录来确保参与者是否已成功远程部署。这是我的日志信息

[adaptiveCEP-akka.actor.default-dispatcher-18] [akka.tcp://adaptiveCEP@127.0.0.1:2555/remote/akka.tcp/adaptiveCEP@127.0.0.1:2554/user/disjunction/simple-2555-0.4631423946172286] hi, I am simple-2555-0.4631423946172286
[adaptiveCEP-akka.actor.default-dispatcher-18] [akka.tcp://adaptiveCEP@127.0.0.1:2555/remote/akka.tcp/adaptiveCEP@127.0.0.1:2554/user/disjunction/simple-2555-0.4631423946172286] hi, I am Actor[akka://adaptiveCEP/remote/akka.tcp/adaptiveCEP@127.0.0.1:2554/user/disjunction/simple-2555-0.4631423946172286#1386676347]

似乎演员simple-2555-0.4631423946172286#1386676347disjunction 演员的子演员,并且都托管在同一台机器上(没有远程部署孩子)。而做监督的演员是演员akka.tcp://adaptiveCEP@127.0.0.1:2555

根据Top-Level Scopes for Actor Paths

“/remote”是一条人工路径,所有actor都驻留在其下,其监督者是远程actor引用

我是不是误会了什么?

如果需要

val randomRouter = actorSystem.actorOf(Props[Master],
      "disjunction")

Master.scala

val temp = context.actorOf(Props[SimpleClusterListener].withDeploy(Deploy(scope = RemoteScope(address))), "simple-" + port + "-" + Math.random())
temp ! "hi"

参考

Create an Akka actor remotely without a new ActorSystem

【问题讨论】:

    标签: scala akka-cluster akka-remote-actor akka-remoting


    【解决方案1】:

    不,你的actor没有部署在本地,它在远程机器上

    akka.tcp://adaptiveCEP@127.0.0.1:2555/remote/akka.tcp/adaptiveCEP@127.0.0.1:2554/user/disjunction/simple-2555-0.4631423946172286] hi, I am simple-2555-0.4631423946172286
    

    此日志项显示您的 Actor 正在“127.0.0.1:2555”机器上的 Actor 系统“adaptiveCEP”上运行,并且正在由“adaptiveCEP@127.0.0.1:2554”中的“disjunction”actor 监督

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-29
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多