Kafka 教程
Apache Kafka 教程
Apache Kafka 教程提供了 Apache Kafka 的基本和高级概念。本教程适用于初学者和专业人士。
Apache Kafka 是一个开源流处理软件平台,用于处理实时数据存储。它充当两方(即发送方和接收方)之间的经纪人。它可以在一天内处理大约数万亿个数据事件。
Apache Kafka 教程之旅将涵盖从其架构到其核心概念的所有概念。
什么是Apache Kafka
Apache Kafka 是一个基于分布式流处理的软件平台。它是一个发布-订阅消息系统,允许在应用程序、服务器和处理器之间交换数据。 Apache Kafka 最初由 LinkedIn 开发,后来捐赠给了 Apache 软件基金会。目前,它由 Apache Software Foundation 下的 Confluent 维护。 Apache Kafka 解决了发送者和接收者之间数据通信的昏昏欲睡的麻烦。
什么是消息传递系统
消息传递系统是简单的消息交换在两个或两个以上的人、设备等之间。发布-订阅消息系统允许发送者发送/编写消息和接收者读取该消息。在 Apache Kafka 中,发送者称为发布消息的生产者,接收者称为消费者,通过订阅消息来消费该消息。
什么是流式处理
流式处理是在并行连接的系统中处理数据。这个过程允许不同的应用程序限制数据的并行执行,其中一个记录执行而不等待前一个记录的输出。因此,分布式流媒体平台使用户能够简化流媒体处理和并行执行的任务。因此,Kafka 中的流媒体平台具有以下关键能力:
一旦记录流出现,它就会对其进行处理。
它的工作方式类似于企业消息传递系统,在其中发布和订阅记录流。
它以容错持久的方式存储记录流。
学习和理解Apache Kafka,有志者应该知道以下四个核心 API:
Producer API: 此 API 允许/允许应用程序将记录流发布到一个或多个主题。(稍后部分讨论)
Consumer API: 此 API 允许应用程序订阅一个或多个主题并处理生成给它们的记录流。
Streams API: 此 API 允许应用程序有效地将输入流转换为输出流。它允许应用程序充当流处理器,从一个或多个主题使用输入流,并为一个或多个输出主题生成输出流。
连接器 API: 此 API 使用现有数据系统或应用程序执行可重用的生产者和消费者 API。
为什么使用 Apache Kafka
Apache Kafka 是一个软件平台,有以下原因最能描述 Apache Kafka 的需求。
Apache Kafka 能够每秒处理数百万条数据或消息。
Apache Kafka 充当源系统和目标系统之间的中介。因此,源系统(生产者)数据被发送到 Apache Kafka,在那里它对数据进行解耦,目标系统(消费者)从 Kafka 消费数据。
Apache Kafka 具有极高的性能,即它的延迟值非常低,不到 10 毫秒,这证明它是一款精通软件。
Apache Kafka 具有弹性架构,解决了数据共享中异常复杂的问题。
NETFLIX、UBER、Walmart 等组织以及数千家此类公司都在使用 Apache Kafka。
Apache Kafka 能够保持容错。容错意味着有时消费者成功地消费了生产者传递的消息。但是,由于后端数据库故障或消费者代码中存在错误,消费者无法处理回消息。在这种情况下,消费者无法再次消费该消息。因此,Apache Kafka 通过重新处理数据解决了这个问题。
学习 Kafka 是不错的收入来源。所以,未来希望在 IT 行业增加收入的人可以学习。