実行中のシステムプロセスへのアクセスを制御するためにAkkaを使用しています。
システム内の任意のアクターからの着信コマンドリクエストを処理する単一のCommandActorがあり(これをRequestActorと呼びます)、新しいリクエストごとに、CommandActorはその特定のリクエストを処理するために個別のCmdChildWorkerアクターを生成します。CommandActorはまた、CmdChildWorkersの数を制限し、各リクエストに一意のIDを割り当てるため、単純なルーターよりも複雑です。
コマンドが完了すると、システムプロセスの実行中に定期的に、CmdChildWorkerアクターは定期的な更新を元のRequestActorに送り返します(たとえば、これまでのプロセス出力)。
ただし、すっきりとしたデザインを維持するために、CmdChildWorkerを元のRequestActorから完全に非表示にして、単一のCommandActorへのインターフェイスのみを使用できるようにしたいと考えていました。
もちろん、CommandActorを介してCmdChildWorkerから返信メッセージを送り返すことはできますが、CommandActorを介してメッセージをルーティングすることなく、CmdChildWorkerから直接RequestActorに返信できるかどうか疑問に思っていましたが、それでもメッセージのふりをしています。 CommandActorから返送されました。
つまり、CmdChildWorkerアクターの送信者アドレスを、その親アクターのアドレスになりすますことができます。これは可能ですか?そして、おそらくもっと重要なのは、この賢明な、または優れた俳優のデザインですか?
ありがとう