根据key实行默认算法进行分区
实现Partitioner接口即可实现重写分区器。
生产者代码使用
自定义序列化
实现Serializer即可实现重写序列化 ,返回为字节数组即可。
生产者与消费者代码引用
kafka消费者
消费者是现场不安全的
消费者配置,详细见文档。
重点一个配置 auto.offset.reset ==> latest (取最新) / earlist(取最早)
有一个坑:在先启动生产者,消费者为一个全新的群组时,会出现第一个消息丢失的情况。
消费者提交
自动提交(自动提交代码)前提 enable.auto.commit = true
同步提交(代码)前提 enable.auto.commit = false
异步提交(代码)前提 enable.auto.commit = false
同步和异步组合(代码)前提 enable.auto.commit = false
特定提交(代码)前提 enable.auto.commit = false
从特定偏移量处开始记录一个方法,传入分区对象+偏移量即可。
分区再均衡产生条件1:消费者挂了 2:新增分区数量
实现ConsumerRebalanceListener即可实现分区再均衡 ,onPartitionsRevoked 再均衡前,onPartitionsAssigned 再均衡后。
特定模式-独立消费者



