3

Play2.0.4devセットアップでいくつかのAkkaジョブを実行しています。本番環境では、アプリケーションはクラスター化されたセットアップにデプロイされ、スケジュールされたジョブが並列で発生しないようにする必要があります。たとえば、インポートは単一ノードでのみ発生し、完了する前に新しいインポートは開始されません。

何か提案や指針はありますか?それとも、Akkaはそのようなツールとしては間違っていますか?

4

2 に答える 2

1

私の推測では、「フロントエンド」と「バックエンド」を分離する必要があります。クラスタ化されたPlayアプリケーションにWebリクエストを処理させ、バックグラウンドジョブを処理する別のアプリを構築します。

また、バックグラウンドジョブを処理するアクターが常に単一のクラスターノードでルックアップされるように、Akka構成を微調整することも可能です。おそらくこれは、このアクターと通信する簡単な方法が必要な場合にのみ意味があります。詳細については、Remotingに関するAkkaのドキュメントを確認してください。

于 2012-10-19T14:34:58.640 に答える
1

これは適切なAkkaクラスターですか?

クラスタシングルトンを使用して、ジョブが1回だけ発生するように強制できます

http://doc.akka.io/docs/akka/snapshot/contrib/cluster-singleton.html

作業負荷が大きすぎて1人のアクターが実行できない場合でも、クラスターシングルトンを使用することをお勧めします。ただし、彼をマスターとして使用し、実際の作業を行うためにスレーブに作業を提供してもらいます。マスターを1つ、スレーブをNつだけ保持する場合は、確実に1回だけジョブを実行できます。

于 2014-10-19T18:40:54.337 に答える