akka 2.2.x を使用しています。クラスターモードで。私の質問は、俳優の検索に関連しています。
私は2種類のアクターを持っています:
processor
. テキストを受け取り、何らかの方法で処理しますresult collector
. からのメッセージを受け取りprocessor
、結果を要約します。
Processor
アクターは にメッセージを送信する必要がありますresult collector
。だから、私はActorRef
中にいる必要がありprocessor
ます。
ActorRef
問題は、これをに渡す/検索する方法processor
です。
私は今のところ3つの異なる解決策を持っています:
作成時に参照
ActorRef
し、コンストラクタ パラメータとして渡します。アクターの再起動プロセスを処理せず、クラスター環境に適合しないため、間違っている可能性があります。processor
ActorRef
で検索
preStart
しcontext.actorSelection("../result-collector")
ます。この後、 のオブジェクトがActorSelection
あり、 でメッセージを送信できます!
。このソリューションでは、すべての呼び出しの前にクラスターでルックアップが行われるため、パフォーマンスが低下することを認識しています。それとも私はここで間違っていますか?で検索し
preStart
、context.actorSelection("../result-collector")
を呼び出しresolveOne
て を取得しActorRef
ます。問題ないように見えますが、akka クラスターの変更を処理できない可能性があります。
ありがとう!