Spring Kafka多并发使用者-提交偏移失败

时间:2020-04-24 15:18:25

标签: spring apache-kafka spring-kafka

我正在使用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 :(得分:0)

在处理每条记录后提交偏移量;设置auto.commit.enabled=false并将容器属性ackMode设置为AckMode.RECORD