Webファームで、各ASP.NETアプリケーションが同じように設定され、Hangfireストレージ用に同じ共有SQL Serverデータベースを使用するN個のインスタンスがある場合、Hangfireの動作を正確に理解しようとしています。Webファームのハングファイアはどのように機能しますか?
ドキュメントには、競合状態を防ぐために分散ロックが使用されていると書かれていますが、これは少し低レベルなので、実際には何を意味するのかを理解する必要があります。
例:
私は5つのWebサーバのインスタンスを持っている、と私は午後5時に1日1回実行されますスケジュールにバックグラウンドジョブを作成した場合、これは最初のインスタンスは、上の「ロック」を取得することを意味していジョブは実行を終了し、他のすべてのインスタンスはロックされている間ジョブを無視しますか?
私は、Hangfireは一度に1つのインスタンスでジョブを処理することを許可していると仮定していますが、確認していません。
実際に各サーバーインスタンスで同時にジョブを実行する場合はどうなりますか?
ウェブファームで誰かがハングファイアの実践経験があれば、私はすべて耳にします。