一、kafka生产问题
1.漏发
生产者发送时候 有可能节点突然挂掉,send返回future,get(),同步发送,还可以在pro设置重试次数来容错,可以在失败时候,存储到哪里,另一个线程补发,不影响主流程
2.broker数据同步
broker里也可能出现问题,acks设置all,保证所有副本也收到消息
二、kafka消费问题
1.重复消费-md5
如果生产者,生产该topic这一批数据时候,可以带一个唯一标识,消费者可以message生成md5,以记录消费过该条消息
2.重复消费-手动控制offset
消费者可以用try catch来控制offset的提交, 自动提交是每5秒提交一次,消费节点离开或者加入,或者扩分区,都会导致rebalance,rebalance会导致offset重置