我正在构建一个有多个节点的集群计算机系统。有一个主节点假设将任务调度到集群中的多个节点。节点是通过网线连接到主节点的独立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依赖项 –