kafka 简介
Apache Kafka® 是 一个分布式流处理平台,主要的应用场景为:
- 构造实时流数据管道,它可以在系统或应用之间可靠地获取数据。 (相当于message queue)
- 构建实时流式应用程序,对这些流数据进行转换或者影响。 (就是流处理,通过kafka stream topic和topic之间内部进行变化)
基本概念
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 topic与已存在的程序或数据库系统连接
允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数