我正在使用https://github.com/bbc/sqs-consumer/ SQS Consumer插件来轮询SQS队列。
有时,即使将消息添加到队列,消费者也不会从队列中收到任何消息。
问题
您建议我在AWS SQS队列上设置哪些设置,以确保消费者将每条消息都添加到队列中?
消费者在什么条件下不会收到添加到队列中的消息?就我而言,消息正被添加到队列中,但消费者不会收到消息。
答案 0 :(得分:0)
感觉你在这里对某些术语感到困惑。
VisibilityTimeout
基本上是一个超时,表示消费者成功处理和删除该队列上的消息需要多长时间。我们的生产环境中有数千个队列,具体取决于队列使用者对VisibilityTimeout
的设置是否正确。我们希望一些消费者花一分钟时间成功处理和删除邮件。其他消费者不应超过五秒钟。ReceiveMessageWaitTimeSeconds
和WaitTimeSeconds
指的是同一件事。 ReceiveMessageWaitTimeSeconds
在队列级别设置,而WaitTimeSeconds
在ReceiveMessage
调用上设置。 WaitTimeSeconds
的优先级高于ReceiveMessageWaitTimeSeconds
。这两个选项都控制AWS在返回空响应之前等待多长时间,我强烈建议将其保留为默认值;如果我没记错的话是20秒。希望有所帮助!