Apache Kafka教程:基础概念

主题Topic
通常,主题是指某些特定的相互关联的概念的特定标题或名称。 在Kafka中,主题一词是指用于存储和发布特定数据流的类别或通用名称。 基本上,Kafka中的主题类似于数据库中的表table,但不包含所有约束。 在Kafka中,我们可以根据需要创建n个主题。 它由其名称标识,这取决于用户的选择。 生产者将数据发布到主题,而消费者则通过订阅从主题中读取数据。
分区Partitions
主题分为几个部分,这些部分称为主题的分区。 这些分区按顺序分开。 数据内容存储在主题内的分区中。 因此,在创建主题时,我们需要指定分区数(该数是任意的,以后可以更改)。 每条消息都以增量ID(称为偏移值)存储在分区中。 偏移值的顺序仅在分区内而不超出分区内得到保证。 分区的偏移量是无限的。
注意:一旦写入分区,数据将永远无法更改。 这是一成不变的。 偏移值始终保持递增状态,永远不会返回空白空间。 同样,数据仅在有限的时间内保留在分区中。
下面图解主题和分区:

 
假设一个主题包含三个分区0,1和2。每个分区都有不同的偏移号。 数据分布在每个分区的每个偏移量中,分区0的偏移量1中的数据与分区1的偏移量1中的数据没有任何关系。 但是,分区0的偏移量1中的数据与分区0的偏移量2中包含的数据相互关联。
代理Brokers
Kafka群集由一台或多台称为代理或Kafka代理的服务器组成。 代理是一个包含多个主题及其多个分区的容器。 集群中的代理仅由整数ID标识。 Kafka代理也称为Bootstrap代理,因为与任何一个代理的连接都意味着与整个集群的连接。 尽管代理不包含全部数据,但是群集中的每个代理都知道所有其他代理,分区以及主题。

例子:代理和主题

假设一个由三个代理组成的Kafka集群,即Broker 1, Broker 2, and Broker 3。
每个代理都拥有一个主题,即带有三个分区0,1和2的Topic-x。请记住,所有分区都不仅仅属于一个代理,它总是分布在每个代理中(取决于数量)。 代理1和代理2包含另一个主题y,它具有两个分区0和1。因此,代理3不保存来自主题y的任何数据。 还可以得出结论,代理号和分区号之间不存在任何关系。

原文地址:https://www.cnblogs.com/MakeView660/p/12179648.html

时间: 2024-08-15 00:16:46

Apache Kafka教程:基础概念的相关文章

顶级Apache Kafka术语和概念

1.卡夫卡术语 基本上,Kafka架构  包含很少的关键术语,如主题,制作人,消费者, 经纪人等等.要详细了解Apache Kafka,我们必须首先理解这些关键术语.因此,在本文“Kafka术语”中,我们将学习所有这些Kafka术语,这将有助于我们建立Kafka知识的坚实基础.那么,让我们从Apache Kafka术语开始. Apache Kafka术语和概念 2.卡夫卡术语清单 在这篇Apache Kafka教程中,下面列出了最突出的Kafka术语,这些术语可以帮助我们建立Kafka知识的坚实

Apache Kafka教程

1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外,我们将学习Kafka Architecture,Kafka和Kafka Partition的组件.此外,我们将讨论Kafka和Kafka用例中的各种比较.除此之外,我们将在这个Kafka教程中看到各种术语,如Kafka Broker,Kafka Cluster,Kafka Consumer,Kaf

Windows OS上安装运行Apache Kafka教程

本文转自:http://geek.csdn.net/news/detail/52976 下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka. 简介 本文讲述了如何在Windows OS上配置并启动Apache Kafka,这篇指南将会指导你安装Java和Apache Zookeeper. Apache Kafka是一个快速可扩展的消息队列,能够应对繁重的读写负载,即IO相关工作.更多信息请参见http://kafka.apache.

Apache Kafka教程:入门介绍

Apache Kafka是一个开放源代码流处理软件平台,用于处理实时数据存储.Apache Kafka在两方(即发送方和接收方)之间充当经纪人.它一天可以处理大约数万亿个数据事件. Apache Kafka是一个基于分布式流式处理过程的软件平台.Apache Kafka是一个发布-订阅消息传递系统,它也允许在应用程序,服务器和处理器之间交换数据. Apache Kafka最初是由LinkedIn开发的,后来捐赠给了Apache软件基金会.目前,它由Apache Software Foundati

kafka系列 -- 基础概念

kafka是一个分布式的.分区化.可复制提交的发布订阅消息系统 传统的消息传递方法包括两种: 排队:在队列中,一组用户可以从服务器中读取消息,每条消息都发送给其中一个人. 发布-订阅:在这个模型中,消息被广播给所有的用户. kafka与传统的消息传递技术相比优势之处在于: 快速:单一的Kafka代理可以处理成千上万的客户端,每秒处理数兆字节的读写操作. 可伸缩:在一组机器上对数据进行分区和简化,以支持更大的数据 持久:消息是持久性的,并在集群中进行复制,以防止数据丢失. 设计:它提供了容错保证和

apache+php的基础概念

PHP执行PHP脚本代码一般会经过如下4个步骤: 1.Scanning(Lexing) -- 将PHP代码转换为语言片段(Tokens) 2.Parsing -- 将Tokens转换成简单而有意义的表达式 3.Compilation -- 将表达式编译成opocdes 4.Execution -- 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能 (opcode类似一种二进制格式,php先将源代码编译成opcode,然后再执行) Apache+php的模式: 1.CGI: 在服务器响应

Apache Kafka安全| Kafka的需求和组成部分

1.目标 - 卡夫卡安全 今天,在这个Kafka教程中,我们将看到Apache Kafka Security 的概念  .Kafka Security教程包括我们需要安全性的原因,详细介绍加密.有了这个,我们将讨论Kafka Security可以轻松解决的问题列表.此外,我们将看到Kafka身份验证和授权.此外,我们将看看ZooKeeper身份验证.那么,让我们开始Apache Kafka Security. Apache Kafka安全| Kafka的需求和组成部分 2.什么是Apache K

Apache Kafka工作流程| Kafka Pub-Sub Messaging

1.目标 在我们上一篇Kafka教程中,我们讨论了Kafka Docker.今天,我们将讨论Kafka Workflow.此外,我们将详细介绍Pub-Sub Messaging的工作流程以及Queue Messaging / Consumer Group的工作流程.此外,我们将看到ZooKeeper在Apache Kafka中的作用.那么,让我们从Kafka Workflow开始吧. Apache Kafka工作流程| Kafka Pub-Sub Messaging 2.什么是Kafka Wor

JMeter进行Apache Kafka负载测试

1.卡夫卡负载测试 在这个Apache Kafka教程中,我们将了解如何使用Apache JMeter,如何在Apache Kafka上执行Kafka负载测试.此外,这个Kafka负载测试教程教我们如何配置生产者和消费者,这意味着使用JMeter 开发Apache Kafka Consumer和Kafka Producer.最后,我们将看到在Jmeter中构建Kafka负载测试场景.然而,在Kafka负载测试之前,让我们学习Kafka的简要介绍,以便更好地理解其他工作. 使用JMeter进行Ap