Correct answer - "Use LongPolling" : Eliminate empty responses by allowing Amazon SQS to wait
until a message is available in a queue before sending a response. Unless the connection times
out, the response to the ReceiveMessage request contains at least one of the available messages,
up to the maximum number of messages specified in the ReceiveMessage action. Eliminate false
empty responses by querying all rather than a subset of Amazon SQS servers.
"Increase the VisibilityTimeout" - Because there is no guarantee that a consumer received a
message, the consumer must delete it. To prevent other consumers from processing the message
again, Amazon SQS sets a visibility timeout
"Use a FIFO queue" - Designed to enhance messaging between applications when the order of
operations and events is critical
"Decrease DelaySeconds" - Similar to VisibilityTimeout the difference that a message is hidden
when it is first added to queue for DelaySeconds, whereas for visibility timeouts a message is
hidden only after it is consumed from the queue
For more information visit