Как Kafka обрабатывает сообщения и избегает дублей: технический разбор от Arenadata
В нашем блоге на Хабре вышла новая статья о том, что происходит внутри Kafka между вызовом producer.send() и записью сообщения в лог Автор — Максим Шуматбаев, инженер технической поддержки Arenadata. В материале рассматриваются внутренние механизмы Kafka со стороны клиента: как приложение находит нужный брокер, формирует и отправляет сообщения, получает подтверждения и использует механизмы защиты от потерь и дублей. Отдельно — о ситуациях, когда проблема выглядит как сбой кластера, но связана с клиентом, сетью или конфигурацией. Из статьи вы узнаете: ▫️ как клиент находит leader нужной partition и обновляет метаданные ▫️ что происходит после send(): от выбора partition и batching до ProduceRequest и ACK ▫️ как acks, ISR и min.insync.replicas влияют на надежность записи ▫️ откуда появляются дубли и как работают retries и idempotence ▫️ почему некоторые проблемы, похожие на сбой кластера, могут быть связаны с клиентом, сетью или конфигурацией. Кому будет полезно? Разработчикам и архитекторам распределенных систем, data/platform engineers, администраторам Kafka и специалистам сопровождения — всем, кто работает с Kafka в production и разбирает проблемы с записью сообщений, задержками, дублями и отказоустойчивостью. [Arenadata в MAX](https://max.ru/join/OEVkKU6JBgOFdoLIKmiVG_6cnYgaz6vLj4jkK8zQwUM) Полный профиль компании доступен в MONDIARA [MONDIARA](https://mondiara.com/) Сделано Людьми. Для людей Котировки • Отчётность • Дивиденды • Аналитика • Новости
Пост взят с международного финтех-медиа ресурса
ДЛЯ ЛЮДЕЙ