0

API から定期的に作成して送信する必要があるいくつかのオブジェクトを生成するための単純な REST API を構築しています。オブジェクトの性質も、REST インターフェースをサポートするフレームワーク (Spray、Play Framework など) も関係ありません。私の質問は、Akka を使用したこのシステムでスケーラブルなアクターの設計として適切なものは何でしょうか? サービスがクラッシュしたり、移行されたり、サービスを停止させる原因が何であれ、サービスが停止したとします。どのオブジェクトをいつ送信する必要があるかについてのタスクの説明を回復するために、akka-persistence はここに行く良い方法ですか? それとも、従来の DB でそのようなものを永続化する方がよいでしょうか?

ありがとう。

注:また、自分自身はステートフルではないが、多くの子アクターを作成するアクターがいると仮定して、このアクターが再び子を作成するメッセージを再生するために akka-persistence を使用することをお勧めします。 (子も非ステートフルです)。

4

1 に答える 1

1

従来の DB では、これをタイムスタンプとイベントでモデル化することになる可能性が高く、イベント ソーシングでは、これはすでにネイティブ モデルです。

Akka-persistence は、どのオブジェクトを作成して定期的に送信する必要があるかに関するすべてのイベントを永続化するため、このシナリオに自然に適合します。スナップショットのサポートは、イベント数が非常に多くなった場合の回復速度にも役立ちます。

クラッシュや移行が発生した場合は、リカバリ プロセスで問題なく処理されます。

あなたのメモに関しては、アクターが真にステートレスである場合、必要に応じて再作成できるため、子を作成する原因となるイベントを永続化する必要はありません。子の存在を回復する必要がある場合、アクターはステートレスではありません。その場合、それらのイベントを永続化することは確かに理にかなっています。

于 2014-12-15T15:02:03.543 に答える