それはおそらく、実装の問題というよりも設計の問題です。Akka クラスターを形成する次のアクター階層があるとします。
ApiActor [API Role]
|
MasterCoordinator [API Role]
| |
SceduledJobCoordinator [Schd] StreamingJobCoordinator [Stream]
| | | |
SchdJobActor SchdJobActor StreamJobActor StreamJobActor
(スペースを節約するために意図的にシード ノードを配置しませんでした) API ロールも冗長化できます
したがって、ワークフローは明らかです。ユーザーは対話的に/スクリプトによって、さまざまなワーカー ノードでさまざまなジョブの束を開始します。ジョブは「ファイア アンド フォーゲット」タイプであり、ユーザーは結果を待たず、結果はデータベースに書き込まれます。その後、悪いことが起こります - API ノードが再起動されるか、さらに悪化します (破壊、浸水、ゴジラに食べられるなど)。子アクターはもはや有効ではない親アクターの状態の一部であるため、子アクターを存続させることができないことを理解しています。私が正しく理解している場合でも、ルーターアクターはすでにそのルートの親として機能していますか? 質問: API アクターからワーカー アクターを分離する最善の方法は何ですか? 可能であれば
そうでない場合は、何らかの種類のワーカー アクターの回復ワークフローを実装する必要があると思いますか?
前もって感謝します