Akka是否使用端口2551以外的端口(默认情况下)进行集群?
我有一个3节点的Akka集群--每个节点使用2.4的绑定主机名/端口运行在一个码头上。我有一个种子运行在码头外面的一些测试代码。我可以成功地发送消息到节点点对点,直接,所以基本的Akka消息工作良好的码头化节点。
我的种子代码是这样的:
class Seed() extends Actor {
def receive = {
case "report" =>
mediator ! DistributedPubSubMediator.SendToAll("/user/sender", ReportCommand(), false)
case r:ReportCommand => println("Report, please!")
}
}
val seed = system.actorOf(Props(new Seed()),"sender")
val mediator = DistributedPubSub(system).mediator
mediator ! DistributedPubSubMediator.Put(seed)我的工作节点如下所示:
class SenderActor(senderLike:SenderLike) extends Actor {
val mediator = DistributedPubSub(context.system).mediator
mediator ! Put(self)
def receive = {
case report:ReportCommand => println("REPORT CMD!")
}
}当我运行这个并向种子发送“报告”消息时,我看到种子的“报告,请!”消息,因此它收到了自己的广播,但码头工人中的3名工人没有收到任何信息(接收时没有输出)。不知道出了什么问题,所以我想知道除了2551之外,是否还有另外一个端口需要在我的Dockers中公开以进行集群?
发布于 2015-11-22 12:21:01
您将需要使用端口和绑定端口配置Akka,因为在docker中,“本地端口”不同于“外部世界可以到达我的端口”。
要做到这一点,请参阅以下文档页:对等服务器与客户端服务器
而这个常见问题部分为什么没有收到远程演员的答复?
https://stackoverflow.com/questions/33815394
复制相似问题