话不多说直接上图
相关概念
1、broker
kafka集群实例,前面的随笔中说过通过broker.id可以配置broker ID
2、topic
主题,用来在存储消息时区分不同类型的消息
3、partition
分区,归属于topic,不同的分区分布在kafka集群的不同节点上,可以提高kafka集群负载分担能力
4、replication
副本,为了提升kafka消息可靠性,每个topic的分区都可以指定副本(在创建topic时能够指定副本个数),并且副本一定和Leader分区不在同一个节点上;
(在同一个节点没有任何意义,因为如果kafka集群内某个节点挂掉,副本也就不存在了)
5、Leader和follower
topic分区有多个副本,其中一个副本为Leader,其余的都为follower,并且follower和Leader不在同一个节点上,Leader节点故障时,从follower中选取一个作为Leader
Leader的选取机制在后面介绍
6、consumer group --- 消费者组
同一个消费者组内的消费者有如下特点:一个分区内的数据只能被消费者组内的一个消费者消费,这样做是为了提高消费效率
一般来说消费者组内消费者的个数应该和分区个数相同,多余的消费者也只能闲置,造成资源浪费