Похоже, что дедупликация выполняется брокером Kafka путем отслеживания сообщений на уровне раздела:
- порядковый номер сообщения
- идентификатор производителя
Все, что я читаю, говорит об этом, решая проблему ошибки производителя или брокера, которая приводит к тому, что производитель повторяет отправку. Как насчет того, когда продюсер уйдет? Является ли идентификатор производителя статическим идентификатором, контролируемым мной, или он назначается посредником при каждой регистрации узла производителя? Если идентификатор производителя переназначен и отличается от того, каким он был до перезапуска, это может привести к дублированию, верно?
Я не понимаю, почему они так разработали идентификатор производителя, но я не могу найти PRODUCER_ID_CONFIG
в org.apache.kafka.clients.producer.ProducerConfig
, так что похоже, что он был спроектирован.