cron ジョブのスケジューリングを行う複数のホストを含むジョブ スケジューラ クラスタを設計したいと考えています。たとえば、必要なジョブがrun every 5 minutes
クラスターに送信された場合、クラスターは次の実行を開始するホストを指摘する必要があります。
- 耐障害性: すべてのホストがダウンしているわけではない場合、ジョブは正常に開始されます。
- 有効性: 次のジョブ実行を起動するホストは 1 つだけです。
災害耐性のため、ジョブは特定のホストにバインドできません。1 つの方法は、すべてのホストが DB テーブルをポーリングすることです (確かにロックを使用)。これにより、1 つのホストのみが次のジョブ実行を取得することが保証されます。テーブルをロックすることが多いので、より良い設計はありますか?