1.2 Kafka 简介

1.2.1 什么是中间件

中间件(Middleware)是一类提供系统软件和应用软件之间连接、便于软件各部件之间的沟通的软件,应用软件可以借助中间件在不同的技术架构之间共享信息与资源。中间件位于客户机服务器的操作系统之上,管理着计算资源和网络通信。

简单来说,中间件实现了两个不同层次之间的解耦,它对各个部件之间的沟通做出了抽象和封装,隐藏了现实处理的部分细节。

1.2.2 什么是 Kafka

Kafka 是一种高吞吐量的分布式发布订阅消息中间件,它可以处理消费者规模的网站中的所有动作流数据,同时具有诸如高性能、持久化、多副本备份、横向扩展等一系列能力。

Kafka 结构示意图

就基本概念而言:

  • Kafka作为一个集群,运行在一台或者多台服务器上

  • Kafka 通过 topic 对存储的流数据进行分类

  • 每条记录中包含一个key,一个value和一个timestamp(时间戳)

Kafka有四个核心的API:

  • The Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic

  • The Consumer API 允许一个应用程序订阅一个或多个 topic ,并且对发布给他们的流式数据进行处理

  • The Streams API 允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换

  • The Connector API 允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统

Last updated