Spring Kafka Multi Concurrency Consumer - ошибка смещения фиксации - PullRequest
0 голосов
/ 24 апреля 2020

Я использую Spring с Kafka, чтобы использовать данные из тем Kafka. Я настроил параллелизм равным 10. Поэтому разные потоки опрашивают брокера на наличие сообщений и их обработку. Даже через некоторое время (успешно обработанное) мы получаем одно и то же сообщение обратно в другой поток для потребителя. мы можем обработать полученные сообщения в настроенном max.poll.interval.ms = 1500000.

Пожалуйста, найдите ниже настроенные свойства потребителя Kafka. Я настроил автоматическую фиксацию через Kafka.

    group.id=ips-request-group //group id
    enable.auto.commit=true // auto commit
    auto.commit.interval.ms=60000 // auto commit inverval
    session.timeout.ms=100000 // session time out
    request.timeout.ms=610000 // request time out
    fetch.max.wait.ms=500  //polling time out
    heartbeat.interval.ms=20000 // heart beat interval
    auto.offset.reset=latest  //consuming latest messages.
    key.deserializer=org.apache.kafka.common.serialization.StringDeserializer // key
    value.deserializer=org.apache.kafka.common.serialization.StringDeserializer //value
    max.poll.records=10 // max polling records
    max.poll.interval.ms=1500000 // max polling interval ms /*

Не могли бы вы помочь мне разрешить повторяющиеся сообщения получателя для потребителя Kafka.

1 Ответ

0 голосов
/ 24 апреля 2020

Для фиксации смещения после каждой записи; установите auto.commit.enabled=false и установите для свойства контейнера ackMode значение AckMode.RECORD.

...