AWS SQS

SQS (Simple Queue Service) — managed очередь Amazon (2006). Первый AWS-сервис. Не брокер, а HTTP API: SendMessage, ReceiveMessage, DeleteMessage. Без сервера, без масштабирования — Amazon делает.

API

POST https://sqs.eu-west-1.amazonaws.com/ HTTP/1.1
Action=SendMessage
&QueueUrl=https://sqs.eu-west-1.amazonaws.com/123456789/myqueue
&MessageBody=hello
&AWSSignature=...

# receive
Action=ReceiveMessage&MaxNumberOfMessages=10&WaitTimeSeconds=20

# delete
Action=DeleteMessage&ReceiptHandle=abc123...

Standard vs FIFO

StandardFIFO
Порядокbest-effortстрогий (внутри MessageGroupId)
Дубливозможныdeduplication по content/id
Throughputunlimited3000 msg/s per API
Стоимостьдешевледороже
Имяmyqueuemyqueue.fifo (обязательный суффикс)

Visibility timeout

Consumer получает сообщение → оно скрыто из очереди на N секунд (по умолчанию 30). Если consumer его не удалил за это время — сообщение снова видно, другой consumer возьмёт. Так реализуется at-least-once.

Long polling

ReceiveMessage WaitTimeSeconds=20
# API держит запрос до 20 сек пока не появится сообщение
# → мгновенная доставка, меньше запросов

Dead letter queue (DLQ)

После N неудачных receive (не удалено = failed) → сообщение уходит в DLQ. Для отладки и повторной обработки.

Delay queue / Message delay

Сообщение недоступно N секунд после SendMessage (max 15 мин). Task-scheduler pattern.

Limits

Интеграции

SQS vs Kafka / RabbitMQ

Порты и стоимость

См. также

← на главную