Kafka消费数据重复解决方案

YupDB内通过kafka传递进来的数据有重复现象(Kafka消费数据重复)
遇到这种问题,基本上是心跳或offset更新不及时导致。
在kafka环境中,有以下几个参数对于数据重复有很好的效果。
auto.commit.interval.ms
consumer向zookeeper提交offset的频率,单位是秒,默认60*1000
此值太大会导致数据重复消费,将其调小可避免重复数据。建议值100(毫秒)
max.poll.interval.ms
数据处理时间
max.poll.records
一次从kafka中poll出来的数据条数
max.poll.records条数据需要在max.poll.interval.ms这个时间内处理完
session.timeout.ms
zookeeper 会话的超时限制。如果consumer在这段时间内没有向zookeeper发送心跳信息,则它会被认为挂掉了,并且reblance将会产生。默认6000
request.timeout.ms
broker尽力实现request.required.acks需求时的等待时间,否则会发送错误到客户端,默认10000
request.timeout.ms值应大于session.timeout.ms的值
fetch.min.bytes
每次fetch请求时,server应该返回的最小字节数。如果没有足够的数据返回,请求会等待,直到足够的数据才会返回。默认1
fetch.wait.max.ms
如果没有足够的数据能够满足fetch.min.bytes,则此项配置是指在应答fetch请求之前,server会阻塞的最大时间。默认100

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值