kafka消息零丢失参数设置

1.生产者端

  设置acks=all,要求每条数据必须是写入到所有replica之后,才能算是写入成功

  设置retries=MAX(很大的一个值,无限重试的意思),这个要求一旦写入失败,就无限重试,卡在这里

2.kafka端

  给topic设置replication.factor参数,这个参数值必须大于1,要求每个partition必须有两个副本

  在服务端设置min.insync.replicas参数,这个参数值必须大于1,这要求一个leader至少感知一个follwer还跟自己保持联系,没掉队,这样才能确保leader挂了还有一个follower;

3.消费者端

 自动提交ack改为手动提交ack

以上,这样配置之后,至少在kafka broker端就可以在leader所在broker发生故障,进行leader切换时,数据不会丢失; 

原文地址:https://www.cnblogs.com/bin-zhao/p/13718844.html