Kafka概要记录

kafka集群的安装

kafka重要配置

kafka如何做到消息不丢失

  1.kafka只对"已提交"消息做有限度的持久化保证

  已提交:kafka若干个broker成功接收一条消息,并写入日志文件后,并告诉生产者此消息为已提交.其中若干可配置,acks=all,min.insync.replicas>1
  有限度持久化保证:消息保存到n个broker时,至少一个broker是存活的,此条件成立,kafka保证此消息永远不会丢失

       2.避免消息丢失

    1)使用代用回调的发送消息方法producer,send(msg.callback),不使用producer.send(msg)发送消息,在callback中针对性处理kafka消息,设置retries值,当网络抖动导致提交失败时,自动重试

    2)过早提交消费者端位移,应当先消费消息,再提交位移,而且应设置手动提交位移(enable.auto.commit=false),这种情况可能出现重复消费的问题

    3)设置 unclean.leader.election.enable=false避免落后太多的broker被选举为leader造成的消息丢失

    4)replication.factor >=3消息多拷贝几份

kafka一次消费

    

java接入kafka

spring接入kafka

原文地址:https://www.cnblogs.com/siran/p/14298078.html