1

cron-tab スケジューリングを使用して、JAVA で同じバックエンド プロセスを実行する複数のサーバーを使用しています。

以前は、すべてのジョブをスケジュールするサーバーが 1 つしかありませんでした。これは管理が簡単でした。

サーバーが増え、同じコードベースのすべてのサーバーで同じプロセスが実行されているため、すべてのマシンで同じcronジョブをスケジュールしたいと考えています。

単一の変更がある場合、多くの問題に直面し、手動ですべてのサーバーを変更/更新する必要があるため、問題に直面しています。

共通点から複数のサーバーでスケジュールを管理する方法を誰か教えてもらえますか? この種の状況を処理するためのツール/ライブラリ/ API などはありますか?

現在、すべてのサーバーでJARを更新/コピー(SCPを使用)してから、各サーバーに個別にログインしてすべてのプロセスを再起動しています。

今のところ、これを管理するために Java コードを変更する必要がない場合 (ログの実行では、それを考えることができます) を好みます。

ただし、(Quartz を使用して) 小さな Java アプリケーションを作成できる場合、またはスケジューリングを処理するシェル スクリプトを作成できる場合は、それを使用します。

すべてのサーバーで JAR を更新することは私の問題ではないことを明確にしたいと思います。そのためのセットアップ ビルド スクリプト (ANT) に取り組んでいます。

私の懸念は、すべてのサーバーに共通のスケジューリング コードです。

リモートサーバーでジョブを開始するサーバーでジョブをスケジュールする方法はありますか? これが発生した場合、1 つのサーバーでスケジュールを管理するだけで済みます。クロック同期の問題についても心配する必要はありません..

4

1 に答える 1

1

crontab エントリを含むテキスト ファイルを作成できます。jar ファイルを各サーバーにデプロイするときに、ant を使用してコマンドを実行することにより、同時に crontab を更新することもできますcrontab mycrontab.txt

于 2013-04-22T06:41:54.963 に答える