使用Windows Azure队列锁定队列中的消息

Goo*_*eed 2 message-queue azure azure-storage azure-queues

我正在使用Windows Azure消息队列.我想知道是否有一种方法可以在我得到它们时锁定队列中的消息?

Dav*_*gon 9

从队列中检索消息时,它会被标记为不可见,直到您将其删除(或达到超时时间).当它被标记为不可见时,没有其他人看到该消息.我想这就像你要获得的那样"关闭".

如果在处理过程中,您觉得需要更多时间,则可以修改消息并延长隐身超时.

您需要关注使用Windows Azure队列的幂等操作:假设任何给定的消息可能被处理多次:

  • 处理超出了隐形超时,因此其他一些工作人员获取消息
  • 处理消息时VM实例崩溃,导致它重新出现在队列中并再次处理

  • 他们不一样.一个基于Windows Azure存储,一个基于Service Bus.这篇[MSDN文章](http://msdn.microsoft.com/en-us/library/windowsazure/hh767287.aspx)比较了这两者.您需要根据功能比较选择更适合您应用的应用. (2认同)