前言
今天继续填坑,有了生产者的基础,理解消费者就有点水到渠成的意味,但在模型和架构方面,消费者往往需要花费更多精力。索性我们整个文章体系是逐步深入的,因此本章依然还是以外层框架为主。
还是那句话,坚持学习才是学习的真正姿态。
欢迎关注wx公众号 青鸟瞰滨
消费模型
在第一章基础架构篇中,我们知道,消费者是通过消息代理收发消息的,那么想从代理节点收到消息,有几个问题是绕不开的:
1、消费模型是什么样的
2、消费者是如何进行消费管理的
问题研究
消费模型
消费者从代理获取消息,首先要确定Topic和Partition,对于同一个消费者组的消费者,是不能消费同一个Topic-Partition的,但不同消费者组的消费者是可以的。消费者自己维护自己消费到什么位置的偏移量,也就是offset。
消费者消费消息都是从头(偏移量为0)的位置开始消费,如果没有提交偏移量,则在系统重启后会继续重新消费。消费的极限是在高水位处(HW),此时简单理解为这个消息之后的消息虽然可能已经存在在这个broker上了,但是没有在Kafka集群中同步,不认为是可以被看到的。
待2022年11月25日更新