【发布时间】:2020-01-07 10:48:57
【问题描述】:
在 AWS SQS 标准队列中,您可以设置重新驱动策略,如果出现故障且未从队列中删除消息,该策略将导致重试消息。
在我的情况下,队列中有超过 1,000,000 条消息,需要几个小时才能处理。当消息失败并被放回队列时,它将被放在队列的末尾或前面。在处理完所有其他消息后,这些消息会在一两分钟内重试,还是在两三个小时内重试?
【问题讨论】:
标签: amazon-web-services amazon-sqs
在 AWS SQS 标准队列中,您可以设置重新驱动策略,如果出现故障且未从队列中删除消息,该策略将导致重试消息。
在我的情况下,队列中有超过 1,000,000 条消息,需要几个小时才能处理。当消息失败并被放回队列时,它将被放在队列的末尾或前面。在处理完所有其他消息后,这些消息会在一两分钟内重试,还是在两三个小时内重试?
【问题讨论】:
标签: amazon-web-services amazon-sqs
无法保证返回哪些订单消息,因此一旦您返回一条消息,它可能会立即重试,当所有其他消息都处理完毕时,或中间的任何地方 - 当重试发生时,可能存在一些未记录的常见模式,但它不是你可以指望或设计的东西。
问:Amazon SQS 是否提供消息排序?
是的。 FIFO(先进先出)队列保留确切的顺序 发送和接收哪些消息。如果使用 FIFO 队列,则 不必在您的消息中放置排序信息。更多 有关信息,请参阅 Amazon SQS 开发人员指南中的 FIFO 队列逻辑。
标准队列提供了松散的 FIFO 功能,试图 保持消息的顺序。然而,因为标准队列是 设计为使用高度分布式的大规模可扩展性 体系结构,按照它们发送的确切顺序接收消息是 不保证。
【讨论】: