• 生产者(Producer)
    Producer 将消息发送到 Broker
  • 代理节点(Borker)
    Broker 负责将收到的消息存储到磁盘中
  • 消费者(Consumer)
    Consumer 负责从 Broker 订阅并消费消息
  • 主题(Topic)
    用于消费者订阅主题进行消费操作
  • 分区(Partition)
    一个主题下可以划分为多个分区组成
  • 偏移量(offset)
    一般是在一个分区中对push进来的消息进行排序标记的一张方式,并且不能跨分区使用
  • leader副本分区 && follower副本分区
    一个分区可以有多个副本,副本分为leader和follower副本,但有且只有一个leader副本,follower副本可以有多个,leader负责消息的读写操作,follower负责同步leader中的消息,每个副本都在不同的Borker中。
  • AR:所有分区副本(AR=ISE+OSR)
  • ISE: 所有与leader副本保持一定程度同步的(包括leader副本)
    当leader副本宕机后,zookeeper会在ISE中重新选举新的leader副本进行消息的读写
  • OSR:与 leader 副本同步滞后过多的副本(不包括 leader 副本)
    当OSR中某些副本追赶上leader消息的同步后会进入ISR集合,那么就具有了竞选leader的资格
  • HW:高水位
    一个特定的偏移量,消费者只能消费0到HW位置之间的消息,以自己的理解为就是leader副本中消息和与之关联的所有follower副本都存在的消息的下一个偏移量位置。
  • LEO
    日志文件中下一条待写入的消息offset,相当于leader副本消息中下一条待写入的消息的位置。
    当HW=LEO代表所有副本都同步完成。

Zookeeper 在kafka中的作用:

其中 ZooKeeper 是 Kafka 用来负责集群元数据的管理、控制器的选举等操作的

Borker,Topic,Partition之间的关系(个人理解):
一个Topic中可以包含多个Borker,一个Topic中划分为几个分区,一个分区可以有多个副本,每个副本在不同的Borker中

Kafka一些基本术语 理解

?? kafka单机版中只有一个Borker,上述Topic,Partition等那一般应该只适用在kafka集群中

相关文章: