Kafka Mirromaker2 продюсер идемпотентность и дубликаты

Я установил mirrormaker2 на 2 кластера (CL1, CL2), и зеркальное отображение, похоже, работает правильно, за исключением проблемы с дубликатами в тестовой теме в следующем сценарии:

Пока оба кластера запущены и работают, я имитирую инцидент, останавливая одного за другим брокеров кластера CL2. Остановка первых двух брокеров не вызывает никаких проблем. Все сообщения моей тестовой темы без проблем зеркалируются на CL1.topic кластера CL2. После остановки последнего брокера, очевидно, остановит сообщения на стороне CL2, поскольку все брокеры отключены. Всегда есть активный производитель, который рассылает сообщения во время теста по теме CL1.

Проблема начинается при перезапуске брокеров. После запуска первого брокера отмечу, что некоторые сообщения (около 5%) дублируются. Я подключил клиента к CL1.topic и могу подтвердить, что в моей зеркальной теме действительно есть повторяющиеся сообщения. Пожалуйста, подскажите, как я могу избежать этих дубликатов. Идемпотенция может некорректно работать при завершении работы брокера?

Ниже вы можете найти мою относительную конфигурацию MM2

clusters = CL1, CL2
CL1.bootstrap.servers = broker1CL1:9092, broker2CL1:9092, broker3CL1:9092
CL2.bootstrap.servers = broker1CL2:9092, broker2CL2:9092, broker3CL2:9092

PRIM->DSTR.enabled = true
DSTR->PRIM.enabled = true

CL1.producer.enable.idempotence = true
CL1.producer.acks=all
CL1.producer.max.in.flight.requests.per.connection=5
CL1.producer.retries=2147483647
CL1.consumer.isolation.level=read_committed
CL2.producer.enable.idempotence = true
CL2.producer.acks=all
CL2.producer.max.in.flight.requests.per.connection=5
CL2.producer.retries=2147483647
CL2.consumer.isolation.level=read_committed

person Vangelis Typaldos    schedule 09.03.2021    source источник


Ответы (1)


На этот вопрос был дан ответ на официальном сайте noreferrer" noreferrer'a"noreferred" noreferrev.com список рассылки.

Вот ответ: гарантии доставки Kafka можно разделить на три группы, которые включают «не более одного раза», «хотя бы один раз» и «точно один раз». По умолчанию текущий MM 2.0 гарантирует гарантию доставки хотя бы один раз, что означает, что в некоторых сценариях сбоя будут дублироваться сообщения. Чтобы понять больше, я предлагаю прочитать это ссылка

person Vangelis Typaldos    schedule 02.04.2021