Apache Kafka的术语和概念

1. Kafka 术语

Kafka架构包含很少的关键术语,如主题(Topic),生产者(Producer),消费者(Consumer),代理(Broker)等等。要详细了解Apache Kafka,我们必须首先理解这些关键术语,因此,在本文“Kafka术语”中,我们将学习所有这些Kafka术语,这将有助于我们建立Kafka知识的坚实基础。

Pic

2. Kafka术语列表

1). Kafka代理(Broker)

Apache Kafka集群中有一个或多个服务器,我们称这样的(每个)服务器为代理。

2). Kafka 主题(Topic)

Kafka分类维护消息,消息被存储以及发布在我们称之为主题的类别中。此外,所有Kafka消息通常都被分到不同的Kafka主题中。

3). Kafka分区(Partition)

在Kafka的每个代理中,都有一些分区。Kafka中的这些分区既可以是主题的领导者(Leader),也可以是主题的副本(Replica)。因此,领导者对主题的所有写入和读取负责,而如果领导者因为某种方式失败,则副本将称为新领导者。

4). Kafka 生产者(Producer)

简单来说,向Kafka发布消息的过程就是我们所说的生产者,而且,生产者可以选择主题以发布数据。

5). Kafka 消费者(Consumer)

订阅主题和读取并处理已发布的消息的流程称为消费者。

6). Kafka中的偏移量(Offset)

消费者在日志中的位置以及按每个消费者为基准保留的位置就是我们所说的Offset。而且,我们可以说它是每个消费者保留的唯一元数据。

7). Kafka 消费者组(Consumer group)

Kafka提供的消费者抽象既概括了传统的队列消息模型,也概况了发布-订阅模式的消费者组。但是,通过使用消费者组名称,消费者可以标记自己。

8). Kafka 日志剖析(Log Anatomy)

日志与查看分区没什么不同,只是使用了另一种方式。数据源将消息写入日志,然后,一个或多个消费者在任何时间都可以从日志中读取该数据。如下图所示,一个数据源正在把数据写入日志,而消费者A和B同时正在从日志中根据不同的偏移量读取数据。

pic

9). Kafka 消息排序(Message Ordering) 

Kafka中,从某个分区传递的消息的顺序和分区接收的消息是相同的。

10). Kafka节点(Node)

在Apache Kafka集群中,一个节点就是一台单独的计算机。

11). Kafka集群(Cluster)

为实现共同目的而一起工作的一组计算机就是我们所说的集群。在Kafka中,集群也具有相同的含义,即一组计算机,每个计算机都有一个Kafka的代理实例。

12). Kafka副本(Replica)

这里,副本指的是备份。这意味着一个分区的副本就是这个分区的“备份”,我们使用副本以防止数据丢失,副本从不读取或写入数据。 

13). Kafka消息(Message)

简单来说,Kafka中的消息是指通过Apache Kafka从生产者传递给消费者的信息。

14). Kafka 领导者(Leader)

负责给定分区的所有读写的节点就是我们所说的Kafka Leader。因此,每个分区都包含一个充当领导者角色 的服务器。

15). Kafka 追随者(Follower) 

简单地说,遵循领导者指令的节点就是我们所说的追随者。跟随者的基本作用是,如果一个领导者失败,追随者中的某一个将自动成为新的领导者。但是,通常情况下,追随者作为普通消费者工作,它会提取消息并更新自己的数据存储。

16). Kafka数据日志(Data Log)

消息可以在Kafka中保存相当长的时间,这意味着消费者可以在自己方便的时候阅读。 但是如果Kafka被配置为保持24小时的消息,而消费者停机的时间超过24小时,在这种情况下,消费者将无法读取消息。尽管如此,只有当部分消费者的停机时间仅为60分钟时,才能从上次已知的偏移中读取该消息。

17). Kafka连接器API(Connector API)

连接器API使我们能够构建以及运行可重用的消费者或生产者,并将现有应用程序或数据系统连接到Kafka主题。

Apache Kafka的术语和概念

发表评论

邮箱地址不会被公开。 必填项已用*标注

× 二 = 四

滚动到顶部