ロードバランス環境でcronタスクを処理するためのより良いソリューションを探しています。ロードバランサの背後にある3台のCentOSのサーバー上で実行されているロードバランスされたWebサーバのCronタスク
- PHPアプリケーション:
現在を持っています。
- タスクは定期的に実行する必要がありますが、一度に1台のマシンでのみ実行する必要があります。
- 良い古いcronは、最初のサーバーでこれらのタスクを実行するように設定されています。
- 何らかの理由で最初のサーバーが動作していない場合の問題。 探し
:より堅牢とデ集中管理
- 何か。
- 複数のタスクが1回だけ実行されるようにタスクの負荷分散を行いますが、ランダム/異なるサーバーで負荷を分散させます。
- 最初のサーバーがダウンしたときにタスクを実行しないようにします。
- Webインターフェイスを使用してタスクを管理し、集計レポートを理想的に参照できます。
- 何か問題が発生した場合の通知。
解決策はPHPで実装する必要はありませんが、必要に応じて簡単に修正することができればうれしいです。
私は約束しているような2つのプロジェクトを見つけました。 GNUBatchおよびJob Scheduler。おそらくさらに両方のテストを行いますが、私は誰かが上記のよりよい解決策を持っているのだろうかと思います。
ありがとうございました。
レポートを見ることができるので、それはまったく同じ形式でデータを保存する1つずつ上のcronジョブを持つことによって解決することができます最も信頼性の高いサーバ(または他の何らかのサーバ)が、実際のジョブをth SSH経由で無作為にeサーバに接続します。 1台のマシンだけがスケジューリングを担当するので、すべてのサーバー間で同期/ロックを心配する必要はありません。 –