kafka术语

本文详细解释了Kafka中的Producer(生产者)、Consumer(消费者)、Topic(主题)、Partition(分区)、Replica(副本)以及相关概念,如leader/follower、ISR/OSR/AR、offset/LEO/HW等,并介绍了ConsumerGroup在Kafka消费模式中的作用。
摘要由CSDN通过智能技术生成

1. Producer / Consumer (PC)

        Producer(生产者):

                生产数据的终端,只要是往 kafka 集群中写数据的都是生产者,简称 P

        Consumer(消费者):

                消费 kafka 集群中的数据,只要是去拉取或读取kafka集群中数据的都为消费者,简称 C

 注意:

        无论是 Producer 还是 Consumer 都是 kafka 的客户端,他们状态是否正常都不影响 kafka 本身的工作。

2. Topic / Partition / Replica

 Topic(主题):

        是一个逻辑名称,类似于 elasticsearch 中的索引,实际工作中对应着业务名称。

partition(分区):

        一个 topic 至少对应一个或多个 partition 分区,分区也是一个逻辑名称,不负责数据的存储

replica(副本):

        副本数量,负责数据的存储

        类似于 linux 系统目录 如 topic下面存放着 partition 下面存放着 replica 中存放着数据

        如 linux系统中,/tmp/kafka/test.txt 对应着 /topic/partition/replica ,只有 replica 中存放着实际数据

注意:

        消费者是根据 topic(主题)来消费数据,并不知道 partition 与 replica 的概念

3.leader / follower

leader:

         负责数据的读写,也就是主节点

follower:

        只负责从leader中同步数据,并不会被producer和consumer发现,也就是备节点

        

        当 leader 挂掉后,follower可以成为leader,负责数据的读写。

4.ISR / OSR / AR

如图,

        leader 节点:kafka191

        follower节点:kafka192,kafka193

ISR:
        是和leader副本数据相同的所有副本集合,该列表中所有副本的数据是一样的,包括leader

        如上图中,193 节点的数据与leader 的数据不一致,则 ISR 表为 ISR:[ kafka191,kafka192 ]

OSR:

        是和leader副本数据不相同的所有副本集合

        如上图中,193 节点的数据与 leader 的数据不同,则 OSR 表为 OSR:[ kafka193 ]

AR:

        是ISR+OSR=AR,代表的是所有副本,为 AR:[ kafka191,kafka192,kafka193 ]

注意:

        (1)当一个副本数据和leader不同步时,其会从ISR列表中移除,并将其加入到OSR,当OSR列表的副本数据和leader相同时,又会重新加入到ISR列表中。
        (2)ISR列表中的副本会优先被选举为leader。

5. offset / LEO / HW

offset: 
        用于表示数据的位置点,消费者可以记录offset来标识自己在某个分区中消费的位置点。

        如上图,每个存储的数据,都会对应一个偏移量来记录位置,方便消费者消费


LEO:
        Log End Offset,表示一个分区数最后一个位置的offset。


HW:
        Hig Water,高水位线,表示ISR中最小的LEO。

6. Consumer

Consumer Group:

        (1)消费者组,一个消费者组至少有一个消费者或多个消费者。

        (2)同一个消费者组的消费者不能同时对同一个topic的partition的数据进行消费

        (3)Consumer 如果在 Consumer Group 中的话,都会以 Consumer Group 的名义进行消费。

        (4)当其中一个 Consumer 崩了之后,则会被其他的 Consumer 给接管,继续读取topic中的数据,因为他们在同一个 Consumer Group 中,且都是以 Consumer Group 的名义来消费的,会直接从 Consumer 故障之前读取的位置读取数据。 

  • 17
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值