我正在構建一個有多個節點的集羣計算機系統。有一個主節點假設將任務調度到集羣中的多個節點。節點是通過網線連接到主節點的獨立PC。整個系統預計將用java akka來實現併發揮框架平臺的作用。 有沒有一種方法來實現這個與玩框架akka遠程集羣。java akka遠程集羣與玩框架
我知道遠程計算器教程,但它似乎與SBT平臺運行 ,但我很想知道是否有類似的教程存在與播放框架。
或者任何一個環節,以幫助我的項目
謝謝
我正在構建一個有多個節點的集羣計算機系統。有一個主節點假設將任務調度到集羣中的多個節點。節點是通過網線連接到主節點的獨立PC。整個系統預計將用java akka來實現併發揮框架平臺的作用。 有沒有一種方法來實現這個與玩框架akka遠程集羣。java akka遠程集羣與玩框架
我知道遠程計算器教程,但它似乎與SBT平臺運行 ,但我很想知道是否有類似的教程存在與播放框架。
或者任何一個環節,以幫助我的項目
謝謝
播放的一個實例!框架應用程序可以使用簡單的配置連接到遠程Akka節點(即:主節點)。
有兩種方式:
我建議你使用第二個。 在這種情況下,你必須在application.conf添加一些像
master {
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "your-master-host-name"
port = 0
}
}
}
}
然後在你玩遊戲!應用如果你喜歡去覆蓋默認播放阿卡演員系統,您可以連接到遠程て主節點以這種方式
ActorSystem system = ActorSystem.create("master", ConfigFactory.load().getConfig("master"))
ActorRef master = system.actorFor("akka://[email protected]:your-master-port/user/master")
。下面是參考配置:http://www.playframework.org/documentation/2.0.3/AkkaCore
此處描述的主人和計算集羣節點,我建議你使用的架構和代碼:http://letitcrash.com/post/29044669086/balancing-workload-across-nodes-with-akka-2
如果你的主機和計算節點並不需要一個Web或REST接口你可以將它們作爲簡單的Java程序來實現。
在引用的文章中,節點不是遠程暴露的。要做到這一點只在主節點的應用程序添加一個application.conf:
master {
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "your-master-host-name"
port = your-master-port
}
}
}
}
而且隨着actorOf方法
ActorSystem system = ActorSystem.create("master", ConfigFactory.load().getConfig("master"))
ActorRef master = system.actorOf(new Props(Master.class), "master")
的計算節點必須在遊戲中以同樣的方式來配置實例它!節點。
請注意,只有主節點有定義的TCP-IP端口。非主節點使用0端口,它配置Akka爲它們選擇一個隨機空閒端口。這是正確的,因爲您需要的唯一衆所周知的主機:端口地址是主節點,每個節點在啓動時必須指向。
謝謝Federico會盡力回覆你 –
仍然理解scala代碼。但我想問另一個問題。那就是希望將akka集羣部署爲一個獨立於播放框架的組件。並對來自集羣的服務進行播放框架請求。例如,羣集可以部署在Jboss服務器上。你有任何關於使用Jboss或任何其他應用程序服務器的建議。 –
能夠通過使用akka微內核解決該問題,並且還可以作爲play buil.scala文件的akka依賴項 –