我有兩臺服務器:
服務器 1:10.7.44.49 服務器 2:10.7.44.71
以及在這些服務器上運行的兩個 actorSystem:
akka://Test@10.7.44.49:5555
akka://Test@10.7.44.71:5555
我正在嘗試將一個演員從 Server2 遠程部署到 Server1。
為此,我在 Server2 的配置中設定:
deployment {
/simpleActor {
remote = "akka://[email protected]:5555"
}
但我得到:
[WARN] [09/07/2022 13:36:53.156] [sbt-bg-threads-1] [akka.remote.RemoteActorRefProvider] Remote deploy of [akka://Test/user/simpleActor] is not allowed, falling back to local.
我還嘗試以編程方式實作它:
val address = AddressFromURIString("akka://[email protected]:5555")
val actorRef = system.actorOf(Props[SimpleActor]().withDeploy(Deploy(scope = RemoteScope(address))))
但結果是一樣的。
關于將演員部署到另一臺機器上運行的另一個演員系統的任何線索?
參考:https ://doc.akka.io/docs/akka/current/remoting.html#programmatic-remote-deployment
uj5u.com熱心網友回復:
這記錄在thiselse
的子句中:if
hasClusterOrUseUnsafe && shouldCreateRemoteActorRef(system, address)
hasClusterOrUseUnsafe
當且僅當您的配置中的一個akka.actor.provider = cluster
或之一回傳 trueakka.remote.use-unsafe-remote-features-outside-cluster = true
shouldCreateRemoteActorRef
幾乎可以肯定是真的(除非您使用的是 customRemoteActorRefProvider
,在這種情況下您基本上是靠自己的)
所以設定一個
akka.actor.provider = cluster
akka.remote.use-unsafe-remote-features-outside-cluster = true
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/505643.html
下一篇:如何解決Boost錯誤:在拋出'boost::interprocess::interprocess_exception'的實體后呼叫終止