【发布时间】:2015-04-27 02:42:54
【问题描述】:
Amazon SQS 服务的“可见性超时”是什么意思?哪些因素决定了该领域的理想价值?
我看过http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html
【问题讨论】:
标签: amazon-web-services amazon-sqs
Amazon SQS 服务的“可见性超时”是什么意思?哪些因素决定了该领域的理想价值?
我看过http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/Welcome.html
【问题讨论】:
标签: amazon-web-services amazon-sqs
基本上是消费者处理消息所花费的时间。同时,该消息对任何其他消费者都不可用(因为这是一个分布式系统)。尽管时间 priod 是可配置的,但消息的默认可见性超时为 30 秒。最小值为 0 秒。最长为 12 小时。
【讨论】:
当使用 sqs 作为队列服务时,当您从队列中读取消息时,它不会自动将消息从队列中删除。 因此,当您处理消息时,sqs 将等待定义为可见性超时的时间段,然后其他消费者将再次收到相同的消息。
为可见性超时设置的最佳时间值将至少是消费者进程的超时值。如果消费者能够成功完成处理,那么它将从队列中删除消息,否则如果超时,则消息重新出现在队列中,供其他消费者再次选择。
【讨论】:
可见性超时是您为队列项目指定的时间段或持续时间,消费者获取和处理该时间段或持续时间时对队列和其他消费者隐藏。
主要目的是避免多个消费者(或同一个消费者),重复消费同一个物品。
达到此值时要考虑的关键因素是消费者处理单个队列项目所花费的时间和精力。
【讨论】: