Kafka消费数据丢失与手动提交解决方案.pdfVIP

  • 0
  • 0
  • 约1.81千字
  • 约 2页
  • 2026-06-02 发布于北京
  • 举报

Kafka消费数据丢失与手动提交解决方案.pdf

《030_Kafka消费丢失数据及手动提交方案》

在使用Kafka时,如果producer写数据时没有经过某些参数的优化,可能会导致数据丢

失。例如,min.insync.replicas=1参数设置为leader即可写入,acks=1设置为只写

入leader即算成功。如果leader出现故障,数据肯定会被丢失。此外,

unclear.leader.election.enabled=设置为true时,不干净的leader也可以进行。

在consumer端消费数据时,可能会出现数据丢失的场景和问题。如果正常消费完成后,

返回一个成功的响应,并且开启了autocommit自动提交,那么这个offset的消息将被

标记为已成功消费,下次不会再重复交付给你进行消费和处理。

consumer获取消息后,可能会将消息交给线程池进行异步处理,然后立即返回一个成功

的响应,并提交offset给broker。如果异步处理失败,消息实际上并未成功消费,但由

于开启了autocommit,broker会自动提交该offset。

broker下次不会再次将消息给我们的consumer使用,可以关闭autocommit机制,

不要自动提交offset,而是等待我们手动调用mitSync,手动执行提交操

作。

在consumer中,可以将m

文档评论(0)

1亿VIP精品文档

相关文档