Akka 循环路由';s没有随机接收消息

Akka 循环路由';s没有随机接收消息,akka,Akka,我正在使用akka 2.3.0循环池 部署 /事件处理器外部 路由器=循环池 实例数=65 主题的查找使用 ActorRef transformerRouter = getContext().actorFor("akka://appName/user/EventProcessorRouter"); transformerRouter.tell(munibondAnalyticsEvent, transformerRouter); 我有一个消费者参与者接收来自主题的消息,并通过循环路由器推送

我正在使用akka 2.3.0循环池

部署 /事件处理器外部 路由器=循环池 实例数=65

主题的查找使用

 ActorRef transformerRouter = getContext().actorFor("akka://appName/user/EventProcessorRouter");
 transformerRouter.tell(munibondAnalyticsEvent, transformerRouter);
我有一个消费者参与者接收来自主题的消息,并通过循环路由器推送到处理器参与者。我已经用65个实例定义了循环路由器

我得到了11K的负载,当它处理其中150条消息时,这些消息从主题接收者参与者发送到循环路由器,但它没有发送到处理器参与者,其余的都得到了很好的处理。不知道为什么routee的ever没有处理这些消息

这些信息丢失的原因可能是什么?我检查了是否有任何演员崩溃,我没有看到任何演员崩溃,因为我已经在我的演员中实现了postStop,所以如果它崩溃了,我会在我的日志中看到日志记录


请告诉我可能的原因。

如果发生异常,将根据默认情况重新启动actor,而不是停止,因此我希望您的postStop方法仅在关闭期间调用。您可以实现预重启或后重启来处理此问题。在任何情况下,都会记录异常,因此如果在日志中看不到任何内容,则可能不会出现异常问题。因此,如果重新启动某个参与者,该参与者邮箱中的所有邮件是否都会丢失?否,邮箱和ActorRef独立于该参与者实例(通过所谓的参与者化身联系在一起,请参阅)。重新启动时,将创建一个新实例,并将处理邮箱中的所有邮件。但导致异常的消息将丢失。感谢您提供详细信息。但我在这里运行的问题是,参与者处理大多数消息,但我看到参与者在暂停后处理的消息很少,在这种情况下,他们只是被遗漏了。还有140条信息甚至没有传到演员那里。当我从主题接收者参与者发送时,我正在记录,它被发送到循环路由器的ref,但从未发送到处理参与者。如果它到达,它会记录详细信息。我也没有发现任何例外。不知道里面发生了什么,为什么这些信息丢失了。任何线索都会有帮助。不看代码很难说。Akka保证每条消息最多只能传递一次,因此基本上不能保证所有消息都到达参与者。但是,如果您没有远程处理或集群,则很少有消息丢失的情况。丢失的信息有什么不同吗?