【发布时间】:2012-05-04 17:38:05
【问题描述】:
我在使用 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 地址联系主机。目前无法使用主机名本身进行寻址。
【问题讨论】:
-
可能是bug,请开票!
-
谢谢,我会尝试整理预期的行为并提交一些东西。我发现同时使用空字符串作为地址是有效的(我应该更彻底地阅读配置参考!)