2016-03-23 5 views
1

akkaなどでバックグラウンドジョブを作成すると毎時このデータベースクエリを実行してください これは時間ベースのジョブなので、単一のサーバー上でのみ実行してください。akkaを1台のサーバで起動することのみを制限する方法はありますか?

複数のサーバーでプレイアプリケーションを実行している場合、すべてのサーバーに同じコードが設定されているにもかかわらず、実際に1台のサーバーだけが実際にアクターを実行していることを確認するのがよい方法です。

答えて

1

単一のサーバーで実行するようにコードを制限すると、単一障害点が発生します。サーバーがクラッシュしたり、何らかの理由で切断された場合どうなりますか?

あなたはActorSystemを設定してAkkaクラスタを形成し、実行するコードを中央で調整した形でCluster Singletonに入れたいと思うかもしれません。この場合、Akkaは、クラスタ内で常にSingletonのインスタンスが1つしか存在しないことを確認します(実行中のノードがクラッシュした場合、別のノードで再起動されます)。

+0

私はあなたの意見を見ていますが、そのタイプの冗長性を必要としないsmall'ish実装のために... –

関連する問題