Kafka生产者之重试机制

假如我们的kafka集群可能有一些网络问题,这个时候 producer写数据的时候可能会出现一些问题,那么kafka内部就会有失败重试机制,但是面临了两个问题

1. 消息乱序

有的时候一些leader切换的时候,需要进行重试,设置retries即可,但是消息重试会导致重复发送的问题,比如说网络抖动导致producer以为没成功,其实是成功了的,这个时候就会出现消息重复的问题

2. 消息乱序

消息重试是可能会导致消息乱序的,因为可能排在你后面的消息都发送出去了,所以可以使用“max.in.flight.requests.per.connection”的参数设置为1,这样可以保证producer同一时间只能发送一条消息

3. 重试间隔

重试间隔默认是100ms,用“retry.backoff.ms” 300ms差不多了

你可能感兴趣的:(kafka)