主题和分区
kafka通过主题对消息分类。
kafka通过分区实现数据冗余和伸缩性。
一个主题包含多个分区,所以在topic内消息可能是无需的,但是在单个partition内部是有序的。

生产者和消费者
生产者创建消息,发布到一个特定的主题上,消息会均衡在所有分区上。
消费者订阅一个或者多个主题,按照生产顺序消费消息。
偏移量是一种元数据,是一个不断递增的整数值,消费者通过偏移量来区分已经消费的消息。每个分区有唯一的偏移量,消费者把最后消费的消息的偏移量发送到broker或者zookeeper保存。
消费者群组多个消费者共同读取一个主题,有唯一的groupId,群组保证,每个分区只能被一个消费者使用。

broker和集群
broker是一个独立的kafka 服务器。负责接收生产者的消息,为消息设置偏移量,提交消息到磁盘保存。是集群的组成部分。
集群控制器是集群中的一个broker。负责分区分配和broker监控。
分区首领。一个分区会分配给多个broker,这种复制机制是为了提供消息冗余。在这多个broker中需要有一个分区首领,消费者只消费分区首领的消息,分区首领负责把消费的offset同步到冗余分区中。

本文深入探讨了Kafka的主题、分区、生产者、消费者、偏移量、消费者群组、broker和集群等核心概念。解释了如何通过主题对消息进行分类,分区实现数据冗余和伸缩性,以及生产者和消费者如何交互。同时,详细说明了偏移量的作用,消费者群组的工作原理,以及broker和集群控制器的功能。
253

被折叠的 条评论
为什么被折叠?



