可见性Timeout对AWS SQS意味着什么

时间:2015-02-25 07:22:11

标签: amazon-web-services amazon-sqs

Amazon SQS服务的“可见性超时”是什么意思?哪些因素决定了该领域的理想价值?

我看过http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html

3 个答案:

答案 0 :(得分:6)

当使用sqs作为排队服务时,当您从队列中读取消息时,它不会自动从队列中删除该消息。 因此,当您处理消息时,sqs将等待定义为可见性超时的时间段,然后其他消费者将再次收到相同的消息。

为可见性超时设置的最佳时间值至少是使用者进程的超时值。如果消费者能够成功完成处理,那么它将从队列中删除消息,否则如果消息超时则该消息重新出现在队列中以供其他消费者再次选择。

答案 1 :(得分:3)

可见性超时是您为队列项指定的时间段或持续时间,消费者提取和处理的时间对队列和其他使用者隐藏。

主要目的是避免多个消费者(或同一个消费者)重复消费同一个项目。

达到此值时要考虑的关键因素是时间&消费者为处理单个队列项所做的努力。

答案 2 :(得分:0)

基本上,消费者处理消息所花费的时间。并且在同一时间,该消息对于其他任何用户都不可用(因为这是分布式系统)。尽管时间优先级是可配置的,但消息的默认可见性超时为30秒。最小为0秒。最长为12小时。

https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-visibility-timeout.html