1.介绍
1.1.Apache Kafka是一个分布式流处理平台
我们知道流处理平台的三种特性:
- 可以让你发布与订阅流式的记录。这一方面与消息队列或者企业消息类似。
- 可以存储流式的记录,并且有较好的容错性。
- 可以在流式记录产生时就进行处理。
Kafka使用什么样的场景?
它可以用于两大类别的应用:
1.构建实时流数据的管道,它可以在系统或应用之间可靠地获取数据。(message queue)
2.构建实时流式应用程序,对这些流数据进行转换或者影响。(就是流处理,通过kafka strean topic 和 topic之间内部进行变化)
首先了解一些概念:
- Kafka作为一个集群,运行在一台或者多台服务器上。
- Kafka通过Topic对存储的流数据进行分类。
- 每条记录中包含一个key,一个value和一个timestamp。
Kafka有四个核心:
- The Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic。
- The Consumer API 允许一个应用程序订阅一个或者多个topic,并且对发布他们的流式数据进行处理。
- The Stream A