「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。

图示

image

本作品采用《CC 协议》,转载必须注明作者和本文链接
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!