2017-06-09 28 views
2

Azure Lease Blobとは何ですか? BLOBストレージへの排他ロックを提供するメカニズムですか? 特別なことは何ですか?どこで使用できますか?私はAzure文書を読もうとしましたが、それは私にはまだ分かりません。Azure Lease Blobとは何ですか?

答えて

2

Azure Lease Blobとは何ですか?ブロブストレージへの排他ロックを に提供するメカニズムですか?

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

どこで使用できますか?

ほとんどの場合、この機能はAzure仮想マシンで使用されます。あなたが知っているように、Azure VMはAzure Page Blobによってサポートされています。したがって、VMが作成されると、他のプロセスがそのBLOBを変更または削除できないように、そのAzure VMのVHDを保持するBLOB上で無限のリースが取得されます。

また、リースblob機能を使用したい別の場所は、Leader Electionパターンを実装するときです。

たとえば、blobストレージに格納されているファイルをバックグラウンドのワーカーロールを通じて処理する場合を考えてみましょう。さらに、30秒後に各インスタンスが起動し、コンテナ内のブロブをチェックし、インスタンスがそれを処理するブロブが見つかった場合は、そのワーカー・ロールの複数のインスタンスが実行されているとします。

Azure Workerロールは本質的にステートレスなので、ロブをロックすることなく、各インスタンスはそのBLOBを処理します(あなたが望むものではありません)。この状況を避けるには、各インスタンスにそのBLOBのリースを取得させます。 1つのインスタンスだけが成功する(したがってリーダーとして選出される)。他のインスタンスは、そのBLOBのロックを取得できません。リーダーインスタンスはブロブを処理します。

もう1つの例は、作業を配布するCompeting Consumersに作業を配布する場合です。当社の製品の1つでは、Leader Electionパターンでこのパターンを使用しています。 BLOBリース機能により、リーダー(BLOBリースを取得することができた消費者)を見つけ、このリーダーは他の消費者の間で仕事を分配します。

関連する問題