基础概念
topic
partition
分区,一个 topic 会有多个 partition,每个 partition 一个文件;
在同一个 partition 中消息是顺序写入的,不断追加到文件结尾。
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 增加