什么是 Azure 租赁 Blob?
What is Azure Lease Blob?
什么是 Azure Lease Blob?
它只是一种为 blob 存储提供独占锁的机制吗?
它有什么特别之处?我可以在哪里使用它?我尝试阅读 Azure 文档,但我还不清楚。
What is Azure Lease Blob? Is it just a mechanism which provides an
exclusive lock to the blob storage?
您的理解是正确的。当您租用一个 blob 时,您将获得对该 blob 的独占锁。只要 blob 被租用,除了租户之外,没有人可以修改或删除 blob。您可以获取一个 temporary lease
,其持续时间可以在 15 到 60 秒之间的任何地方,或者一个 infinite lease
.
Where can I use it?
此功能最常由 Azure 虚拟机使用。如您所知,Azure VM 由 Azure 页面 Blob 提供支持。因此,当创建 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 租约的消费者),然后这个领导者将工作分配给其他消费者。
什么是 Azure Lease Blob? 它只是一种为 blob 存储提供独占锁的机制吗? 它有什么特别之处?我可以在哪里使用它?我尝试阅读 Azure 文档,但我还不清楚。
What is Azure Lease Blob? Is it just a mechanism which provides an exclusive lock to the blob storage?
您的理解是正确的。当您租用一个 blob 时,您将获得对该 blob 的独占锁。只要 blob 被租用,除了租户之外,没有人可以修改或删除 blob。您可以获取一个 temporary lease
,其持续时间可以在 15 到 60 秒之间的任何地方,或者一个 infinite lease
.
Where can I use it?
此功能最常由 Azure 虚拟机使用。如您所知,Azure VM 由 Azure 页面 Blob 提供支持。因此,当创建 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 租约的消费者),然后这个领导者将工作分配给其他消费者。