我正在使用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客户的重复接收邮件。
答案 0 :(得分:0)
在处理每条记录后提交偏移量;设置auto.commit.enabled=false
并将容器属性ackMode
设置为AckMode.RECORD
。