> SQS is obviously what you want if you're interested in guarantees that each message is handled once and only once.
You mean SQS FIFO? SQS classic cannot guarantee exactly-once delivery or ingestion, either due to failure at the client or server. SQS FIFO, however; can but requires both the client and the server to work in-tandem to ensure exactly-once processing.