「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 协议》,转载必须注明作者和本文链接
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。