📜  Apache Kafka教程

📅  最后修改于: 2021-01-05 02:33:39             🧑  作者: Mango

Apache Kafka教程

Apache Kafka教程提供了Apache Kafka的基本和高级概念。本教程适用于初学者和专业人士。

Apache Kafka是一个开源流处理软件平台,用于处理实时数据存储。它充当两方(即发送方和接收方)之间的代理。它一天可以处理大约数万亿个数据事件。

Apache Kafka教程之旅将涵盖从其体系结构到核心概念的所有概念。

什么是Apache Kafka

Apache Kafka是一个基于分布式流式处理过程的软件平台。它是一个发布-订阅消息传递系统,它也允许在应用程序,服务器和处理器之间交换数据。 Apache Kafka最初是由LinkedIn开发的,后来被捐赠给Apache Software Foundation。目前,它由Apache Software Foundation下的Confluent维护。 Apache Kafka解决了发送方和接收方之间数据通讯的令人头疼的麻烦。

什么是消息传递系统

消息传递系统是两个或两个以上人员,设备等之间的简单消息交换。发布-订阅消息传递系统允许发送方发送/写入消息,而接收方读取该消息。在Apache Kafka中,发送者被称为发布消息的生产者,而接收者被称为通过订阅消耗消息的消费者。

什么是流媒体处理

流处理是并行连接系统中的数据处理。此过程允许不同的应用程序限制数据的并行执行,其中一条记录的执行无需等待上一条记录的输出。因此,分布式流平台使用户能够简化流过程和并行执行的任务。因此,Kafka中的流媒体平台具有以下关键功能:

  • 一旦记录流出现,它将对其进行处理。
  • 它的工作方式类似于企业消息传递系统,在该系统中,它发布和订阅记录流。
  • 它以容错的持久方式存储记录流。

为了学习和理解Apache Kafka,有抱负的人应该知道以下四个核心API:

生产者API:此API允许/允许应用程序将记录流发布到一个或多个主题。 (在后面的部分中讨论)

消费者API:此API允许应用程序订阅一个或多个主题,并处理为其产生的记录流。

Streams API:此API允许应用程序有效地将输入流转换为输出流。它允许应用程序充当流处理器,该处理器使用一个或多个主题的输入流,并生成一个或多个输出主题的输出流。

连接器API:此API与现有数据系统或应用程序一起执行可重用的生产者和使用者API。

为什么选择Apache Kafka

Apache Kafka是一个软件平台,其具有以下原因,可以最恰当地描述Apache Kafka的需求。

  • Apache Kafka每秒能够处理数百万条数据或消息。
  • Apache Kafka在源系统和目标系统之间充当中介。因此,源系统(生产者)数据被发送到Apache Kafka,在那里它与数据解耦,而目标系统(消费者)从Kafka中消耗数据。
  • Apache Kafka具有极高的性能,即它的延迟值非常低,不到10ms,这证明它是精通软件。
  • Apache Kafka具有弹性的体系结构,已解决了数据共享中的异常复杂问题。
  • NETFLIX,UBER,沃尔玛等组织以及数千家此类公司都在使用Apache Kafka。
  • Apache Kafka能够维护容错能力。容错意味着有时消费者可以成功使用生产者传递的消息。但是,使用者由于后端数据库故障或使用者代码中存在错误而无法处理该消息。在这种情况下,使用者无法再次使用该消息。因此,Apache Kafka通过重新处理数据解决了该问题。
  • 学习卡夫卡是很好的收入来源。因此,那些希望将来在IT领域增加收入的人可以学习。

先决条件

有抱负的人应该具有Java编程的基本知识,以及一些Linux命令的知识。

听众

Apache Kafka的这一旅程是专为初学者,开发人员和希望学习新事物的人设计的。

问题

我们保证在此Apache KafkaTutorial中不会发现任何问题。但是,如果有任何错误,请在联系表格中发布问题。