同じblobで同時にリースを取得しようとする複数のコンピューティングインスタンスがある場合、それはかなり頻繁に成功するようです。一度リースが出た(つまり、クライアントが取得した)と、同時に別のリースを出すことはできないのではないかという印象を受けました。
これが事実であることを願っています。私はAzureで分散ロックとしてBLOBリースを使用しています。
同じblobで同時にリースを取得しようとする複数のコンピューティングインスタンスがある場合、それはかなり頻繁に成功するようです。一度リースが出た(つまり、クライアントが取得した)と、同時に別のリースを出すことはできないのではないかという印象を受けました。
これが事実であることを願っています。私はAzureで分散ロックとしてBLOBリースを使用しています。
正確な答えを得るには、@Smarx のこの記事「リースを使用した Windows Azure での同時実行の管理」を読む必要があります。
@Smarx: 「リースは分散型のロックに相当するものです。分散型システムでロックが使用されることはほとんどありません。分散型システムでコンポーネントやネットワークに障害が発生すると、システム全体がデッドロック状態に陥りやすいからです。組み込みのタイムアウトがあり、その後リソースに再びアクセスできるようになるため、リースはその問題を軽減します。」
http://blog.smarx.com/posts/managing-concurrency-in-windows-azure-with-leases
リースが保持されている限り、別のリースを取得することはできません。ただし、リースは更新しないと 1 分後に期限切れになります。