Kafka常见问题解决思路

Rebalance

1、一个consumer group消费多个Topic,选择什么Rebalance策略

答:选择Round Robin或者Sticky策略,其中最好是Sticky策略。如果选择Range策略,平衡分数(rebalance score,衡量消费平衡性的指标,分数越高,平衡性越差)会很高。

2、KafkaConsumer实例的时候,哪些参数设置不合理会导致频繁的Rebalance

答:session.timeout.ms consumer---->consumer group 之间超时时间,超时会导致kafkaconsumer 被踢出不能再被消费,通过Generation标识控制

max.poll.interval.ms,consumer---->Broker两次取数的时间间隔

消息有序性

kafka做不到消息的全局有序性,消息有序性从Producer和Consumer两个角度分析。

Producer:

1、单pid+sequence+partition(key)、打开幂等,可确保发送方的有序性,

max.in.flight.requests.per.connection1
retries大于0
acksall

 

 

 

 

2、跨pid不能保证有序性,建议使用pid+sequence+partition(key)+timestamp(报文增加,给于消息方做排序使用)

Consumer:

1、有序队按key+timestamp排序,存储最近30秒的数据,按升序进行业务逻辑处理。

2、isolation.level 设置为read_commited

消费幂等性

1、enable.auto.commit 设置为false,业务逻辑处理完后再提交

2、isolation.level 设置为read_commited

3、每条消息有唯一流水号,基于流水号做幂等判断(如:redis的set结构或者单进程的BloomFilter)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值