Apache Kafka 最早是由Linkedln开源出来的分布式消息系统,现在是Apache旗下的一个子项目。
已经成为开源领域应用最广泛的消息系统之一
社区活跃
标语从“一个高吞吐量、分布式的消息系统” 改为 “一个分布式的流平台”
什么是流(式数据处理)平台?
具备三个特点 1:数据流注入 2:数据存储功能 3:流处理功能
Kafka怎样实现这三种功能的?
1:消息系统
2:队列模式
3:发布-订阅模式
3:存储系统
4:流数据系统
final 将消息系统、存储系统、流处理系统组合在一起。
构成了以Kafka为中心的流数据处理平台
既能处理最新的实时数据,也能处理过去的历史数据
Kafka作为流平台的核心组件,有什么重要的API
答:有4种核心API
1:producer 发布事件流到Kafka的一个或多个主题
2:consumer 订阅Kafka的一个或多个主题,并处理流事件
3:连接器 将Kafka主题和已有数据进行连接,数据可以互相导入和导出
4:流处理 从kafka主题消费输入流,经过处理后 产生输入流到输出主题
要建立以Kafka为核心的流式数据管道,要做到哪几点?
做到 :不仅要保证低延迟的消息处理,还需保证数据的可靠性。
在和离线系统集成时,将kafka的数据加载到批处理系统时,要保证数据不遗漏:
Kafka的某些节点在停机维护时,要保证集群可用。
从三个角度分析Kafka的几个基本概念---
Kafka的主题与分区内部是如何存储的,它有什么特点?
kafka的元数据包括有下面几类:
第一:topic信息以及分区副本存放信息
第二:broker节点信息以及broker控制节点选举信息
第三:消费者信息
kafka是如何通过zookeeper进行元数据的管理的呢?首先我们来看一下安装好一个kafka集群之后,对应zookeeper会出现哪些目录?概括为一A一B四个C,如下图:
‘