使用play框架的java akka远程集群
我正在构建一个包含多个节点的集群计算机系统。假设有一个主节点将任务调度到集群中的多个节点。这些节点是通过网络电缆连接到主节点的独立PC。整个系统预计将在java akka和play框架平台上实现。 有没有一种方法可以通过使用play框架的akka远程集群来实现这一点 我知道远程计算器教程,但它似乎是在SBT平台上运行的 但我很想知道play框架是否有类似的教程 或者任何帮助我完成项目的链接使用play框架的java akka远程集群,java,playframework,akka,Java,Playframework,Akka,我正在构建一个包含多个节点的集群计算机系统。假设有一个主节点将任务调度到集群中的多个节点。这些节点是通过网络电缆连接到主节点的独立PC。整个系统预计将在java akka和play框架平台上实现。 有没有一种方法可以通过使用play框架的akka远程集群来实现这一点 我知道远程计算器教程,但它似乎是在SBT平台上运行的 但我很想知道play框架是否有类似的教程 或者任何帮助我完成项目的链接 谢谢你一个游戏实例!框架应用程序可以使用简单的配置连接到远程Akka节点(即:您的主节点) 有两种方法:
谢谢你一个游戏实例!框架应用程序可以使用简单的配置连接到远程Akka节点(即:您的主节点) 有两种方法:
master {
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "your-master-host-name"
port = 0
}
}
}
}
然后在你的戏里!应用程序您可以通过这种方式连接到te远程主节点
ActorSystem system = ActorSystem.create("master", ConfigFactory.load().getConfig("master"))
ActorRef master = system.actorFor("akka://master@your-master-host-name:your-master-port/user/master")
如果您喜欢覆盖默认设置,请使用Akka actor系统。以下是参考配置:
对于主节点和计算集群节点,我建议您使用此处描述的体系结构和代码:
如果您的主节点和计算节点不需要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为它们选择随机空闲端口。这是正确的,因为您需要的唯一众所周知的主机:端口地址是主地址,每个节点在启动时都必须指向主地址。仍在理解scala代码。但我想问另一个问题。也就是说,我们希望将akka集群作为play框架的一个单独组件进行部署。并向play框架请求集群提供的服务。例如,集群可以部署在Jboss服务器上。您对使用Jboss或任何其他应用程序服务器来解决此问题有何建议。我们能够通过使用akka微内核以及对play buil.scala文件的akka依赖性来解决此问题