Kafka生产者之重试机制
假如我们的kafka集群可能有一些网络问题,这个时候 producer写数据的时候可能会出现一些问题,那么kafka内部就会有失败重试机制,但是面临了两个问题1. 消息乱序有的时候一些leader切换的时候,需要进行重试,设置retries即可,但是消息重试会导致重复发送的问题,比如说网络抖动导致producer以为没成功,其实是成功了的,这个时候就会出现消息重复的问题2. 消息乱序消息重试是可能
·
假如我们的kafka集群可能有一些网络问题,这个时候 producer写数据的时候可能会出现一些问题,那么kafka内部就会有失败重试机制,但是面临了两个问题
1. 消息乱序
有的时候一些leader切换的时候,需要进行重试,设置retries
即可,但是消息重试会导致重复发送的问题,比如说网络抖动导致producer以为没成功,其实是成功了的,这个时候就会出现消息重复的问题
2. 消息乱序
消息重试是可能会导致消息乱序的,因为可能排在你后面的消息都发送出去了,所以可以使用“max.in.flight.requests.per.connection”
的参数设置为1,这样可以保证producer同一时间只能发送一条消息
3. 重试间隔
重试间隔默认是100ms,用“retry.backoff.ms”
300ms差不多了
更多推荐
已为社区贡献3条内容
所有评论(0)