使用 Windows Azure 队列锁定队列中的消息
Posted
技术标签:
【中文标题】使用 Windows Azure 队列锁定队列中的消息【英文标题】:Locking messages in queue with Windows Azure Queues 【发布时间】:2012-06-10 22:35:09 【问题描述】:我正在使用 Windows Azure 消息队列。我想知道当我得到消息时是否有一种方法可以锁定队列中的消息?
【问题讨论】:
【参考方案1】:当您从队列中检索消息时,它会被标记为不可见,直到您将其删除(或达到超时期限)。当它被标记为不可见时,没有其他人看到该消息。我想这就像你将要得到的那样接近“锁定”。
如果在处理过程中您觉得需要更多时间,您可以修改消息并延长隐身超时时间。
您确实需要关注 Windows Azure 队列的幂等操作:假设任何给定的消息可能会被多次处理:
处理超出了隐身超时,因此其他一些工作人员收到了消息 VM 实例在处理消息时崩溃,导致它重新出现在队列中并再次得到处理【讨论】:
感谢您的帖子。服务总线中的队列和存储帐户中的 CloudQueue 有什么区别?它们是一样的吗? 他们不一样。一种基于 Windows Azure 存储,一种基于服务总线。这个MSDN article 比较了两者。您需要根据功能比较选择哪个更适合您的应用。以上是关于使用 Windows Azure 队列锁定队列中的消息的主要内容,如果未能解决你的问题,请参考以下文章
Windows Azure 队列返回 403 Forbidden