# 概念
- 消费者和消费者组
- 再均衡,分区的所有权从一个消费者转移到另一个消费者
# 创建消费者
# 必要配置
- bootstrap.servers
- key.serializer
- value.serializer
# 订阅主题
参数为主题列表或正则表达式
# 轮询
- 群组协调
- 分区再均衡
- 发送心跳
- 获取数据
# 其他配置
- fetch.min.bytes
- fetch.max.wait.ms
- max.partition.fetch.bytes
- session.timeout.ms
- auto.timeout.ms
- enable.auto.commit
- partition.assignment.strategy
- client.id
- max.poll.records
- receive.buffer.bytes、send.buffer.bytes
# 提交和偏移量
提交:更新分区当前位置
提交方式:
* 自动提交
* 提交当前偏移量
* 异步提交
* 同步和异步组合提交
* 提交特定的偏移量
# 再均衡监听器
ConsumerRebalanceListener
- onPartitionRevoked
- onPartitionsAssigned
# 从特定偏移量消费
- seekToBeginning
- seekToEnd
- seek
# 如何退出
consumer.wakeup()
# 反序列化器
- 自定义反序列化器
- Avro 反序列化
# 独立消费者
不需要加入消费者群组,为自己分配分区,consumer.assign (partitions)