Встречается на собеседованиях • сегодня

Что такое Dead Letter Queue

Dead Letter Queue (DLQ) — это специальная очередь сообщений, куда попадают сообщения, которые не могут быть обработаны по разным причинам (например, ошибки обработки, истечение срока жизни сообщения, превышение лимита попыток обработки). DLQ помогает избежать потери данных и упрощает отладку проблем.

Пример с AWS SQS и boto3:

python
import boto3

sqs = boto3.client('sqs')

Создание основной очереди с DLQ

dlq_response = sqs.create_queue(QueueName='my-dlq.fifo')
dlq_arn = sqs.get_queue_attributes(
QueueUrl=dlq_response['QueueUrl'],
AttributeNames=['QueueArn']
)['Attributes']['QueueArn']

Настройка redrive policy для основной очереди

redrive_policy = {
'deadLetterTargetArn': dlq_arn,
'maxReceiveCount': '3' # После 3 неудачных попыток — в DLQ
}

sqs.create_queue(
QueueName='main-queue.fifo',
Attributes={
'RedrivePolicy': json.dumps(redrive_policy)
}
)

text

Ключевые особенности DLQ:
- Сохраняет "мертвые" сообщения для последующего анализа
- Позволяет настроить политику повторных попыток
- Поддерживается в RabbitMQ, Kafka, AWS SQS и других брокерах сообщений
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы