天天看点

什么是 Kafka | 学习笔记

开发者学堂课程【分布式消息系统 Kafka 快速入门:什么是 Kafka】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:

https://developer.aliyun.com/learning/course/98/detail/1601

什么是 Kafka

内容简介:

1.Kafka

2.Kafka版本

3.面试题

在流式计算中,Kafka 一般用来缓存数据,Storm 通过消费 Kafka 的数据进行计算。

1)Apache Kafka 是一个开源消息系统,由 Scala 写成。是由 Apache 软件基金会开发的一个开源消息系统项目。

2)Kafka 最初是由 Linkedin 公司开发,并于2011年初开源。2012年10月从 Apache Incubator 毕业。该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

3)Kafka 是一个分布式流息队列。Kafka 对消息保存时根据 Topic 进行归类,发送消息者称为 Producer,消息接受者称为 Consumer,此外kafka集群有多个 kafka 实例组成,每个实例(server)称为 broker。

4)无论是 kafka 集群,还是 consumer 都依赖于 zookeeper 集群保存一些 meta 信息,来保证系统可用性。

在面试当中问的比较多的是关于源码的,问的比较多的是 spark 的源码。

其中,第4点比较重要,因为 kafka 集群是依赖 zookeeper 的,broker 三个ID就形成了一个集群,是依赖于同一个 zookeeper,它就能识别到它是一个集群。所以整个的集群的构建是依赖于 zookeeper 的。consumer 是消费者,消费数据的,也会依赖于 zookeeper。

什么是 Kafka | 学习笔记

为什么新版本不保存在 zookeeper,不存在本地了。

继续阅读