web-dev-qa-db-ja.com

Azure Lease Blobとは何ですか?

Azure Lease Blobとは何ですか?これは、BLOBストレージに排他ロックを提供するメカニズムにすぎませんか?何が特別なのですか?どこで使えますか? Azureのドキュメントを読み込もうとしましたが、まだはっきりしていません。

8
user43286

Azure Lease Blobとは何ですか?これは、BLOBストレージに排他ロックを提供するメカニズムにすぎませんか?

あなたの理解は正しいです。 BLOBをリースすると、そのBLOBの排他ロックを取得します。ブロブがリースされている限り、リース所有者以外の誰もブロブを変更または削除できません。 temporary leaseを取得できます。この期間は、15〜60秒の範囲であるか、infinite leaseです。

どこで使えますか?

最も一般的には、この機能はAzure仮想マシンによって使用されます。ご存知のとおり、AzureVMはAzurePageBlobsによってサポートされています。したがって、a VMが作成されると、そのAzure VMのVHDを保持するBLOBで無限リースが取得されるため、他のプロセスがそれを変更または削除することはできません。ブロブ。

リースBLOB機能を使用するもう1つの場所は、 Leader Election パターンを実装する場合です。

たとえば、BLOBストレージに保存されているファイルをバックグラウンドのワーカーロールを介して処理するシナリオを考えてみます。さらに、そのワーカーロールの複数のインスタンスが実行されており、各インスタンスが30秒後にウェイクアップし、コンテナー内のblobをチェックし、blobが見つかった場合はそのインスタンスがそれを処理するとします。

Azureワーカーロールは本質的にステートレスであるため、そのBLOBをロックしないと、各インスタンスがそのBLOBを処理します(必要なものではありません)。この状況を回避するには、各インスタンスにそのBLOBのリースを取得させようとします。 1つのインスタンスのみが成功します(したがって、リーダーとして選出されます)。他のインスタンスは、そのBLOBのロックの取得に失敗します。リーダーインスタンスはblobを処理します。

もう1つの例は、作業を分散したい場所 Competing Consumers 作業を分散したい場所です。当社の製品の1つでは、このパターンをLeader Electionパターンとともに使用しています。ブロブリース機能を通じて、リーダー(ブロブリースを取得できた消費者)を見つけ、このリーダーが他の消費者に作業を分散します。

11
Gaurav Mantri