Besides the rather remote ability of SQS to incorrectly deliver the same message more than once (which you still need to consider, although this is unlikely), I suspect that your question is related to the lack of familiarity with the SQS concept of “timeout visibility.”
Immediately after the component receives the message, the message is still in the queue. However, you do not want other components in the system to receive and process the message again. Thus, Amazon SQS blocks them with a visibility timeout, which is the period of time during which Amazon SQS does not allow other consumer components to receive and process this message.
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/AboutVT.html
, . , , ( " ", ). , - , SQS, - .
Update:
, SQS FIFO AWS. , , , , .
FIFO (First-In-First-Out) , , . FIFO , 300 (TPS).
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/FIFO-queues.html
FIFO - FIFO.