【问题标题】:How to remotely deploy actor with dynamic name in Akka.NET如何在 Akka.NET 中远程部署具有动态名称的演员
【发布时间】:2016-04-19 20:34:34
【问题描述】:

当我查看 Akka.NET Actor 远程部署的示例时,它是通过 Actor 系统配置完成的,如下所示:

actor {
    provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote""
    deployment {
        /MyActor {
            remote = ""akka.tcp://MyActors@127.0.0.1:8091""
        }
    }
}

上面的字符串“MyActor”是实际的演员名称。我不清楚如何部署具有动态名称的演员(例如“MyActor:{UID}”)或远程部署未知数量的演员?有没有办法通过代码动态配置部署选项?在配置中指定所有可远程部署的参与者名称似乎有点乏味且非常有限。

【问题讨论】:

    标签: c# .net akka akka.net


    【解决方案1】:

    您可以使用 actor 的 Props 设置部署选项,例如:Props.Create(() => new MyActor).WithDeploy(new Deploy(new RemoteScope("akka.tcp://remote-system-name@ip:port/")))

    【讨论】:

      【解决方案2】:

      我想到的一种解决方法是远程部署一个固定名称的主管 Actor,并将其用作“代理”来创建并可能与所有其他动态命名的子 Actor 进行通信。

      【讨论】:

        猜你喜欢
        • 2020-01-03
        • 2015-05-10
        • 1970-01-01
        • 2012-09-02
        • 2014-09-30
        • 1970-01-01
        • 2019-11-11
        • 1970-01-01
        • 2015-02-22
        相关资源
        最近更新 更多