如果我有多个计算实例尝试同时在同一个 blob 上获取租约,它似乎经常成功。我的印象是,一旦发出租约(因此,被客户收购),就不可能同时发出另一个租约?
我希望是这样,我一直在使用 blob 租约作为 Azure 中的分布式锁。
如果我有多个计算实例尝试同时在同一个 blob 上获取租约,它似乎经常成功。我的印象是,一旦发出租约(因此,被客户收购),就不可能同时发出另一个租约?
我希望是这样,我一直在使用 blob 租约作为 Azure 中的分布式锁。
您需要阅读@Smarx 中的这篇文章“使用租约管理 Windows Azure 中的并发”以获得确切答案:
@Smarx:“租约是锁的分布式等价物。在分布式系统中很少使用锁,如果有的话,因为当分布式系统中的组件或网络出现故障时,很容易使整个系统陷入死锁状态。租约缓解了这个问题,因为有一个内置的超时,在此之后资源将再次被访问。”
http://blog.smarx.com/posts/managing-concurrency-in-windows-azure-with-leases
只要持有一个租约,就不能获得另一个租约。但是,如果不续订,租约会在一分钟后到期。