2016-04-19 56 views
3

部署與動態名演員當我看Akka.NET演員遠程部署的樣本,它是通過演員的系統配置做過這樣的:如何遠程在Akka.NET

actor { 
    provider = ""Akka.Remote.RemoteActorRefProvider, Akka.Remote"" 
    deployment { 
     /MyActor { 
      remote = ""akka.tcp://[email protected]:8091"" 
     } 
    } 
} 

字符串「上面的MyActor是真正的演員名字。我不清楚如何部署一個具有動態名稱的演員(例如「MyActor:{UID}」)或遠程部署未知數量的演員?有沒有辦法通過代碼動態配置部署選項?在配置中指定所有可遠程部署的actor名稱似乎有點繁瑣而且非常有限。

回答

5

您可以使用actor的道具來設置部署選項,例如:Props.Create(() => new MyActor).WithDeploy(new Deploy(new RemoteScope("akka.tcp://[email protected]:port/")))

1

我想到的解決方法是讓一個固定的名稱主管角色遠程部署,並使用該角色作爲'代理'來創建並可能與所有其他動態命名的子級角色進行通信。