Встречается на собеседованиях • сегодня
В какой ситуации сообщение брокера может продублироваться
Сообщение брокера (например, RabbitMQ или Kafka) может дублироваться в нескольких случаях:
-
Повторная отправка при таймауте - если продюсер не получил подтверждение (ack) от брокера в течение таймаута, он может отправить сообщение повторно.
-
Повторная обработка консьюмером - если консьюмер обработал сообщение, но не отправил подтверждение (например, из-за сбоя), брокер может повторно доставить это сообщение другому консьюмеру.
- Идемпотентность не настроена - в Kafka при включенной опции
enable.idempotence=falseпродюсер может отправить дубликаты.
Пример для Kafka Producer:
python
from kafka import KafkaProducer
producer = KafkaProducer(
bootstrap_servers=['localhost:9092'],
enable_idempotence=True # предотвращает дубликаты
)
producer.send('topic', b'message')Для предотвращения дубликатов:
- Включайте идемпотентность продюсера
- Используйте механизм подтверждений (acknowledgments)
- Реализуйте дедупликацию на стороне консьюмера (например, по message_id)

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы