use*_*286 6 locking azure azure-blob-storage
什么是Azure Lease Blob?它只是一种为blob存储提供独占锁定的机制吗?这有什么特别之处?我在哪里可以使用它?我试图阅读Azure文档,但我还不清楚.
什么是Azure Lease Blob?它只是一种为blob存储提供独占锁定的机制吗?
你的理解是正确的.租用blob时,会获得该blob的独占锁定.只要租赁blob,租赁持有人以外的任何人都不能修改或删除blob.你可以获得一个temporary lease,持续时间可以是15至60秒之间的任何时间或者infinite lease.
我在哪里可以使用它?
Azure Virtual Machines最常使用此功能.如您所知,Azure VM由Azure Page Blobs支持.因此,在创建VM时,将在保存该Azure VM的VHD的blob上获取无限租约,以便其他进程无法修改或删除该Blob.
您希望使用租约blob功能的另一个地方是您希望实现Leader Election模式.
例如,考虑一种情况,您希望通过后台工作者角色处理存储在blob存储中的文件.进一步假设存在多个该工作者角色的实例,其中每个实例在30秒后唤醒,并检查容器中的blob以及是否发现实例处理它的任何blob.
由于Azure工作者角色本质上是无状态的,因此没有锁定该blob,每个实例都将处理该blob(不是您想要的).为了避免这种情况,你可以做的是让每个实例尝试获取该blob上的租约.只有一个实例会成功(因此被选为领导者).其他实例将无法获取该blob上的锁定.领导者实例将处理blob.
另一个例子是您希望在Competing Consumers其中分配工作的地方分配工作.在我们的一个产品中,我们使用这种Leader Election模式.通过blob租赁功能,我们找到了一个领导者(能够获得blob租约的消费者),然后这个领导者在其他消费者中分配工作.
| 归档时间: |
|
| 查看次数: |
6097 次 |
| 最近记录: |