Kafka教程

Kafka Topics

Kafka Topics

在上一节中,我们简要介绍了 Apache Kafka、消息系统以及流式处理过程。在这里,我们将讨论 Kafka 的基本概念和作用。

Topics

一般来说,一个主题是指一个特定的标题或赋予某些特定名称的名称。相互关联的想法。在 Kafka 中,主题一词是指用于存储和发布特定数据流的类别或通用名称。基本上,Kafka 中的主题类似于数据库中的表,但不包含所有约束。在 Kafka 中,我们可以根据需要创建 n 个主题。它由其名称标识,这取决于用户的选择。生产者向主题发布数据,消费者通过订阅从主题中读取数据。

分区

一个主题分为几个部分,分别是称为主题的分区。这些分区按顺序分开。数据内容存储在主题内的分区中。因此,在创建主题时,我们需要指定分区的数量(数量是任意的,以后可以更改)。每条消息都被存储到分区中,其增量 id 称为其偏移值。 偏移值的顺序仅在分区内得到保证,而不是跨分区保证。分区的偏移量是无限的。
注意: 数据一旦写入分区就永远无法更改。它是不可变的。偏移值始终保持递增状态,永远不会回到空白空间。此外,数据仅在有限的时间内保留在分区中。
让我们看一个例子来理解一个带有分区的主题。
Kafka Topics
假设,一个主题包含三个分区 0,1 和 2、每个分区都有不同的偏移量。数据分布在每个partition的每个offset中,其中Partition 0的offset 1中的数据与Partition1的offset 1中的数据没有任何关系。但是,分区 0 的偏移量 1 中的数据与分区 0 的偏移量 2 中包含的数据是相互关联的。

代理

Apache Kafka 的作用来了.
Kafka 集群由一个或多个称为代理或 Kafka 代理的服务器组成。代理是一个容器,其中包含多个主题及其多个分区。集群中的代理仅由整数 ID 标识。 Kafka 代理也称为 Bootstrap 代理,因为与任何一个代理的连接都意味着与整个集群的连接。虽然一个 broker 并不包含完整的数据,但是集群中的每个 broker 都知道所有其他 broker、分区以及主题。
Kafka Topics
这是包含 n 个分区的主题的图中的代理的样子。

示例: 代理和主题

假设一个Kafka集群由三个broker组成,分别是Broker 1、Broker 2和Broker 3、
Kafka Topics
每个broker 持有一个topic,即Topic-x,有3 个分区0,1 和2、记住,所有分区不只属于一个broker,它总是分布在每个broker 之间(取决于数量)。代理 1 和代理 2 包含另一个具有两个分区 0 和 1 的主题 y。因此,代理 3 不保存来自主题 y 的任何数据。还得出结论,代理号和分区号之间不存在任何关系。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4