任何 Actor 都可能收到太多的消息。如何发现这样的瓶颈?
如果发生这种情况,CPU 使用情况会如何?是否总是至少有 1 个核心处于 100% 使用率?
在 Akka 1.x 中,我可以检查消息队列的长度,但在 2.x 中不可用。现在该如何处理?
最佳答案
actor 中的消息过多不会导致任何 cpu 问题 - 它们最终会消耗大量内存,具体取决于消息和使用的策略。看看这些策略:http://doc.akka.io/docs/akka/2.4.16/scala/mailboxes.html默认是无界邮箱 - 因此系统会耗尽所有内存...(在这种情况下考虑使用背压 - 请参阅 akka 流)
Kamon 允许您查看参与者指标(邮箱大小等)。 这配置起来非常简单(但需要aspectj) http://kamon.io/integrations/akka/actor-router-and-dispatcher-metrics/
关于java - 如何检测消息过多? [ Akka Actor ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41244335/