【发布时间】:2018-12-11 18:53:28
【问题描述】:
我正在使用 RAGRS Azure 存储队列。如果主要区域发生中断并且消费者正在从队列的次要区域读取,它是否可以在该区域将消息标记为已完成,因为它不支持写入功能?
【问题讨论】:
标签: azure azure-storage azure-storage-queues
我正在使用 RAGRS Azure 存储队列。如果主要区域发生中断并且消费者正在从队列的次要区域读取,它是否可以在该区域将消息标记为已完成,因为它不支持写入功能?
【问题讨论】:
标签: azure azure-storage azure-storage-queues
首先,次要区域是只读的。你不能给它写信。因为您无法写入它,所以如果您直接从辅助位置读取消息,则只能从队列中 PEEK 消息,这基本上会阻止您对该消息进行任何修改(例如删除消息以标记为完成) .
此外,如果主要区域发生中断(并且此中断是由 Microsoft 声明的),那么您的次要区域将自动成为主要区域(您无需为此执行任何特殊操作)。在这种情况下,您将执行与中断前对主要区域执行的操作相同的操作。
【讨论】:
If I can only PEEK the message and not complete and remove it, will my consumer keep on receiving the message? - 这是正确的。如果直接从辅助位置读取,则只能执行读取操作。不支持写入和删除操作。尝试这样做会导致存储端出错。