13

cron ジョブのスケジューリングを行う複数のホストを含​​むジョブ スケジューラ クラスタを設計したいと考えています。たとえば、必要なジョブがrun every 5 minutesクラスターに送信された場合、クラスターは次の実行を開始するホストを指摘する必要があります。

  1. 耐障害性: すべてのホストがダウンしているわけではない場合、ジョブは正常に開始されます。
  2. 有効性: 次のジョブ実行を起動するホストは 1 つだけです。

災害耐性のため、ジョブは特定のホストにバインドできません。1 つの方法は、すべてのホストが DB テーブルをポーリングすることです (確かにロックを使用)。これにより、1 つのホストのみが次のジョブ実行を取得することが保証されます。テーブルをロックすることが多いので、より良い設計はありますか?

4

6 に答える 6