1

我正在使用akka 2.2.x。在集群模式下。我的问题与演员查找有关。

我有两种演员:

  • processor. 它接受文本并以某种方式处理它
  • result collector. 接受来自的消息processor并总结结果。

Processor演员需要向result collector. 所以,我需要有ActorRefinside processor

问题是 - 如何将其传递/查找ActorRefprocessor.

我现在有 3 种不同的解决方案:

  1. ActorRefprocessor创建时查找并ActorRef作为构造函数参数传递。看起来可能是错误的,因为它不处理参与者重启过程并且不适合集群环境。

  2. 用. preStart_ context.actorSelection("../result-collector")在此之后,我有对象ActorSelection并且可以发送消息!。在此解决方案中,我知道由于每次调用前在集群中查找而导致性能下降。还是我在这里错了?

  3. 查找preStart并调用获取. context.actorSelection("../result-collector") _ 看起来不错,但可能无法处理 akka 集群更改。resolveOneActorRef

谢谢!

4

1 回答 1

2

使用#1 时,无论是重启还是集群都没有问题。查找仅在无法通过任何其他方式获得 ActorRef 的情况下才有用。

于 2013-09-30T21:04:08.250 回答