基础概念

image.png

topic

主题,使用不同主题区分不同类型的消息

partition

分区,一个 topic 会有多个 partition,每个 partition 一个文件;
在同一个 partition 中消息是顺序写入的,不断追加到文件结尾。
image.png

replica

副本,每个 partition 可以备份到多台机器上,以提高可用性。

Broker

Kafka Server,将集群中的每一个 Kafka Server 称之为 broker

producer

生产者,生产消息,

consumer

消费者,消费消息,一个 topic 可以拥有一个或者多个消费者来订阅它的数据。

consumer group

消费者组,用来实现广播和单播的手段。
如果所有消费者在同一个消费组中,那么消息记录会负载均衡到每个消费者实例;
若所有的消费者不在同一个消费组中,每条消息记录会广播到所有的消费者进程。
一个 Partition,只能被消费组里的一个消费者消费,但是可以同时被多个消费组消费,消费组里的每个消费者是关联到一个 partition 的
因此对于一个 topic,同一个 group 中不能有多于 partitions 个数的 consumer 同时消费,否则将意味着某些 consumer 将无法得到消息。

offset

偏移量,kafka 存储文件是按照 offset.kafka 命名,并且消费 partion 分区里面的数据之后,offset 增加