【发布时间】:2019-03-18 15:42:33
【问题描述】:
我在我的应用程序中使用 azure 存储队列,我的队列看起来不像一个正确的队列 (FIFO)。它同时拾取所有消息并开始处理它们。
我应该怎么做才能让队列以 FIFO 方式(一个接一个)接收消息?
【问题讨论】:
-
请分享您的代码。您的应用程序中很可能一次收到不止一条消息。
我在我的应用程序中使用 azure 存储队列,我的队列看起来不像一个正确的队列 (FIFO)。它同时拾取所有消息并开始处理它们。
我应该怎么做才能让队列以 FIFO 方式(一个接一个)接收消息?
【问题讨论】:
其实Azure Storage Queue不提供订购保证,你可以找description here。
存储队列中的消息通常是先进先出的,但 有时它们可能会出现故障;例如,当一条消息的 可见性超时持续时间到期
但是,您可以使用服务总线来获得 FIFO 保证。这是存储队列和服务总线之间的comparison。它说FIFO是通过使用实现的 消息会话。
有关 Service Bus 的更多信息,您可以参考此文档Azure Service Bus Messaging Documentation。
【讨论】: