Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用play框架的java akka远程集群_Java_Playframework_Akka - Fatal编程技术网

使用play框架的java akka远程集群

使用play框架的java akka远程集群,java,playframework,akka,Java,Playframework,Akka,我正在构建一个包含多个节点的集群计算机系统。假设有一个主节点将任务调度到集群中的多个节点。这些节点是通过网络电缆连接到主节点的独立PC。整个系统预计将在java akka和play框架平台上实现。 有没有一种方法可以通过使用play框架的akka远程集群来实现这一点 我知道远程计算器教程,但它似乎是在SBT平台上运行的 但我很想知道play框架是否有类似的教程 或者任何帮助我完成项目的链接 谢谢你一个游戏实例!框架应用程序可以使用简单的配置连接到远程Akka节点(即:您的主节点) 有两种方法:

我正在构建一个包含多个节点的集群计算机系统。假设有一个主节点将任务调度到集群中的多个节点。这些节点是通过网络电缆连接到主节点的独立PC。整个系统预计将在java akka和play框架平台上实现。 有没有一种方法可以通过使用play框架的akka远程集群来实现这一点

我知道远程计算器教程,但它似乎是在SBT平台上运行的 但我很想知道play框架是否有类似的教程

或者任何帮助我完成项目的链接


谢谢你

一个游戏实例!框架应用程序可以使用简单的配置连接到远程Akka节点(即:您的主节点)

有两种方法:

  • 覆盖默认的参与者系统
  • 定义一个新的参与者系统
  • 我建议你用第二个。 在这种情况下,您必须在application.conf中添加如下内容

    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依赖性来解决此问题