我正在使用akka 2.2.x。在集群模式下。我的问题与演员查找有关。
我有两种演员:
processor
. 它接受文本并以某种方式处理它result collector
. 接受来自的消息processor
并总结结果。
Processor
演员需要向result collector
. 所以,我需要有ActorRef
inside processor
。
问题是 - 如何将其传递/查找ActorRef
到processor
.
我现在有 3 种不同的解决方案:
ActorRef
在processor
创建时查找并ActorRef
作为构造函数参数传递。看起来可能是错误的,因为它不处理参与者重启过程并且不适合集群环境。用.
preStart
_context.actorSelection("../result-collector")
在此之后,我有对象ActorSelection
并且可以发送消息!
。在此解决方案中,我知道由于每次调用前在集群中查找而导致性能下降。还是我在这里错了?查找
preStart
并调用获取.context.actorSelection("../result-collector")
_ 看起来不错,但可能无法处理 akka 集群更改。resolveOne
ActorRef
谢谢!