【问题标题】:Marking message as completed in secondary region of RAGRS Azure Storage Queue if primary regions is down如果主要区域已关闭,则在 RAGRS Azure 存储队列的次要区域中将消息标记为已完成
【发布时间】:2018-12-11 18:53:28
【问题描述】:

我正在使用 RAGRS Azure 存储队列。如果主要区域发生中断并且消费者正在从队列的次要区域读取,它是否可以在该区域将消息标记为已完成,因为它不支持写入功能?

【问题讨论】:

    标签: azure azure-storage azure-storage-queues


    【解决方案1】:

    首先,次要区域是只读的。你不能给它写信。因为您无法写入它,所以如果您直接从辅助位置读取消息,则只能从队列中 PEEK 消息,这基本上会阻止您对该消息进行任何修改(例如删除消息以标记为完成) .

    此外,如果主要区域发生中断(并且此中断是由 Microsoft 声明的),那么您的次要区域将自动成为主要区域(您无需为此执行任何特殊操作)。在这种情况下,您将执行与中断前对主要区域执行的操作相同的操作。

    【讨论】:

    • 我认为 MS SLA 是 24 小时故障转移?所以它不会立即发生?
    • 我不确定 24 小时 SLA(如果您能分享一个链接将不胜感激)。
    • 我似乎找不到链接,但this 建议 MS 在故障转移时没有给出 eta。
    • @GauravMantri 那么如果发生中断但 Azure 团队尚未检测/声明,Azure 存储队列的功能是什么?如果我只能偷看消息而不能完成并删除它,我的消费者会继续接收消息吗?
    • If I can only PEEK the message and not complete and remove it, will my consumer keep on receiving the message? - 这是正确的。如果直接从辅助位置读取,则只能执行读取操作。不支持写入和删除操作。尝试这样做会导致存储端出错。
    猜你喜欢
    • 1970-01-01
    • 2017-10-03
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-23
    • 2023-04-10
    相关资源
    最近更新 更多