我在使用 Akka 远程处理来实现一个小型搜索应用程序时遇到了一些部署问题。
我想将我的 ActorSystem 部署在一组本地集群机器上以将它们用作工作人员,但我对在我的 application.conf 中放入什么来实现这一点有点困惑。例如,我可以使用:
akka.remote {
transport = "akka.remote.netty.NettyRemoteTransport"
netty {
hostname = "0.0.0.0"
port = 2552
}
}
每个工人只是在启动时运行 ActorSystem 。
这允许我的工作机器在启动时绑定到他们的地址,但随后他们拒绝收听消息:
beaker-24: [ERROR] ... dropping message DaemonMsgWatch for non-local recipient akka://SearchService@beaker-24:2552/remote at akka://SearchService@0.0.0.0:2552
到目前为止,我为此找到的文档只讨论了在我的本地主机上的部署,这不是很有用:)。我希望有一种方法可以做到这一点,而无需为每个主机生成单独的配置。
更新:
使用空字符串作为主机名允许通过普通 IP 地址联系主机。目前无法使用主机名本身进行寻址。