kafka2.0系列之(1) 认识kafka
kafka是什么
ApacheKafka®是一个分布式流媒体平台,分布式容易理解,流平台呢?处理流数据的平台,其中有三个关键功能:
- 发布和订阅记录流,类似于MQ或企业消息传递系统
- 以容错的持久方式存储记录流
- 记录发生时处理流
核心功能
发布和订阅
读取和写入数据流,如消息传递系统。
流处理
编写可扩展的流处理应用程序,实时响应事件。
储存
将数据流安全地存储在分布式,复制的容错集群中。
核心API:
Producer API
允许应用程序将记录流发布到一个或多个Kafka主题。
Consumer API
允许应用程序订阅一个或多个主题并处理生成的记录流。
Streams API
允许应用程序充当流处理器,消耗来自一个或多个主题的输入流并生成到一个或多个输出主题的输出流,从而有效地将输入流转换为输出流。
Connector API
允许构建和运行将Kafka主题连接到现有应用程序或数据系统的可重用生产者或使用者。例如,关系数据库的连接器可能捕获对表的每个更改。
AdminClient API
允许管理和检查主题,代理和其他Kafka对象。
底层通信协议:简单,高性能,语言无关的TCP协议
应用场景
- 构建可在系统或应用程序之间可靠获取数据的实时流数据管道
- 构建转换或响应数据流的实时流应用程序
学习资料
- 行走的IT https://blog.csdn.net/tengxing007/article/category/9001483
- kafka官网 http://kafka.apache.org/
- 官方文档 http://kafka.apache.org/documentation/
- github https://github.com/apache/kafka
- 书籍 《Kafka权威指南》Kafka技术内幕《深入理解Kafka:核心设计与实践原理》