「Kafka应用」名词概念解释
Kafka 名词概念解释#
Producer (生产者)#
生产者,发送消息的一方。生产者负责创建消息,然后将其投递到 Kafka 中。
Consumer (消费者)#
消费者,也就是接收消息的一方。消费者连接到 Kafka 上并接收消息,进而进行相应的业务逻辑处理。
Group#
每一个消费者都属于一个消费者组,当有多个消费者绑定同一个消费者组时,我们将这些消费者看做同一个组内的成员。消费者进行消费数据时,必须绑定一个消费者组。
Broker#
可以理解为一个 Kafka 服务节点,大多情况下可以将其看做一台 Kafka 服务器,多个 broker 组成一个 Kafka 集群,而同一个主题下的多个分区,可以坐落于不同的 broker 中。
Topic (主题)#
Kafka 中每条消息都属于某一个主题,而不论生产者还是消费者在进行数据的投放 / 消费时,都必须指定主题。一个主题下应存放同一类数据。
Partition (分区)#
分区属于主题下的概念,主题下的数据根据分区进行分割,一个主题至少拥有一个分区,每个分区中存放的数据内容不一样,也就是说同一条消息只会存在于一个分区中。而且每个分区维护各自的偏移量,所以分区的有序性只能保证在单个分区内。
副本#
每个分区至少拥有一个副本,副本又分为「leader」和「follower」,其中数据的存取只会在 leader 上进行,follower 只负责从 leader 中同步数据,以备在 leader 发生故障时,从 follower 中选举中一个新的 leader。同一个分区下所有的副本中的数据是一样的。(在同步完成的情况下)
AR (Assigned Replicas )#
分区中所有的副本。
ISR (In-Sync Replicas)#
与 leader 副本的滞后性保持一定程度 (可接受范围内) 的 follower 副本。新的 leader 就是在这里产生。当副本同步速度降低时,会将其放入 OSR 中。
OSR (Out-Sync Replicas)#
与 leader 副本的滞后过多的副本。当副本同步速度追上来时,会重新纳入到 ISR 中。
HW (High Watermark)#
高水位,消费者只能拉取到 HW 之前位置的数据。
LEO (Log End Offset)#
标识日志文件中下一条数据的 offset。
图示#
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: