消费者概念
消费者读取过程
创建消费者对象 -> 订阅主题 -> 读取消息 -> 验证消息 -> 保存消息
消费者群组
消费者属于消费者群组,一个消费者群组对应一个主题,一个消费者读取一个或多个分区
当消费者来不及读取生产者的写入时,就需要消费者的伸缩性,即增加群组中的消费者,这是横向伸缩消费能力的主要方式
再均衡
分区的所有权从一个消费者转移到另一个消费者,叫做再均衡,实现系统高可用性和伸缩性
> 再均衡期间,无法读取分区消息
> 当前读取进度消失,拖慢应用程序
群组协调器
消费者向被指派为群组协调器的broker发送心跳维持和群组的从属关系和对分区的所有权关系
轮询
轮询是消费者API的核心,包含群组协调,再均衡,发送心跳和获取数据
提交和偏移量
提交:更新分区当前读取位置的操作叫做提交
偏移量:消息在分区中的位置,决定了消费者下次开始读取消息的位置
提交偏移量总的来说就是指更新当前读取消息在分区中的位置
如果提交偏移量小于当前处理的消息位置,则两个之间的消息会被再次处理
如果提交偏移量大于当前处理的消息位置,则两个之间的消息会丢失