Akka是否使用端口2551以外的端口(默認情況下)進行羣集?Akka集羣(2.4)默認使用除2551之外的任何端口嗎?
我有一個3節點的Akka集羣 - 每個節點在Docker中使用2.4的bind-hostname/port運行。在一些測試代碼中,我有一個在Docker外部運行的種子。我可以直接成功地將消息直接發送到節點,所以基本的Akka消息傳遞對Docker化的節點工作正常。
我的種子代碼如下所示:
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!")
}
}
當我運行這一點,併發送「報告」消息的種子,我看到了種子的「報告,請!」消息,所以它收到了它自己的廣播,但Dockers中的3名工作人員沒有註冊收到任何東西(接收時沒有輸出)。不知道有什麼問題,所以我想知道是否有除了2551之外的另一個端口我需要在我的Dockers中使用EXPOSE進行羣集?