写点什么

一问 Kafka 就心慌?我却凭着这份《Kafka 源码实战》碾压面试官!

发布于: 2021 年 06 月 11 日
一问Kafka就心慌?我却凭着这份《Kafka源码实战》碾压面试官!

Kafka 是一个高度可扩展的消息系统,它在 LinkedIn 的中央数据库管理中扮演着十分重要的角色,因其可水平扩展和高吞吐率而被广泛使用,现在已经被多家不同类型的公司作为多种类型的数据管道和消息系统。

那么,如何学习 Kafka 源码??

我觉得最高效的方式就是去读最核心的源码,先看一张 Kafka 结构图 以及 Kafka 源码全景图


梳理一下关于 Kafka 框架,找到学习的重点。


其次,我要说的就是一个 Kafka 源码解析的文档——《Kafka 源码解析与实战》

篇幅原因,这边只能大概的介绍一下,有需要下载原件的老铁可直接在这【FreeDownload】

前 5 章分别是:Kafka 简介、Kafka 的架构、Broker 概述、Broker 的基本模块、Broker 的控制管理模块


  • 第 1 章 Kafka 简介:介绍 Kafka 诞生的背景、Kafka 在 LinkedIn 内部的应用、Kafka 的主要设计目标以及为什么使用消息系统

  • 第 2 章 Kafka 的架构:介绍 Kafka 的基本组成、拓扑结构及其内部的通信协议

  • 第 3 章 Broker 概述:描述 Kafka 集群组成的基本元素 Broker Server 的启动以及内部的模块组成

  • 第 4 章 Broker 的基本模块:描述 Broker Server 内部的九大基本模块: SocketServer 、KafkaRequestHandlerPool 、LogManager、ReplicaManager 、OffsetManager、KafkaScheduler. KafkaApis 、KafkaHalthcheck 和 TopicConfigManager

  • 第 5 章 Broker 的控制管理模块:介绍 BrokerServer 的控制管理模块 KafkaController,这个模块负责整个 Kafka 集群的管理,例如:Topic 的新建和删除.分区状态和副本状态的转换、集群的负载均衡管理等


后 5 章分别是 Topic 的管理工具、生产者、消费者、Kafka 的典型应用、Kafka 的综合案例


  • 第 6 章 Topic 的管理工具 :介绍三个维护脚本: kafka-topics.sh 、kafka-reassign-partitions.sh 和 kafka preferredreplica-election.sh,它们分别涉及 Topic 的生命周期管理、Topic 分区的重分配和分区首选副本的选择。

  • 第 7 章 生产者 :从设计原则、示例代码、模块组成和发送模式四个部分介绍有关消息生产者的相关知识,从设计原则至客户端编程,从客户端编程到内部实现原理,由浅人深,循序渐进地讲解。

  • 第 8 章 消费者 :分别介绍两种消费者:简单消费者和高级消费者。针对每种消费者都将依次从设计原则、消费者流程、示例代码以及原理解析四个部分介绍消费者的相关知识。

  • 第 9 章 Kafka 的典型应用 :介绍 Kafka 与典型大数据系统的集成,包括: Kafka 和 Storm 的集成、Kafka 和 ELK 的集成、Kafka 和 Hadoop 的集成以及 Kafka 和 Spark 的集成。

  • 第 10 章 Kafka 的综合案例 :用综合实例描述了 Kafka 的应用,案例描述 Kafka 作为数据总线在安防整体解决方案中的作用,通过车辆人脸图片数据的入库、视频数据的入库、数据延时的监控、数据质量的监控、布控统计和容灾备份 6 个业务,简要阐述内部的实现原理。



再者就是关于 Kafka 的面试

Kafka 面试专题解析

  1. Kafka 的设计时什么样的呢?

  2. 数据传输的事物定义有哪三种?

  3. Kafka 判断一个节点是否还活着有那两个条件?

  4. producer 是否直接将数据发送到 broker 的 leader(主节点)?

  5. Kafa consumer 是否可以消费指定分区消息?

  6. Kafka 消息是采用 Pull 模式,还是 Push 模式?

  7. Kafka 存储在硬盘上的消息格式是什么?

  8. Kafka 高效文件存储设计特点

  9. Kafka 与传统消息系统之间有三个关键区别

  10. Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中

  11. Kafka 新建的分区会在哪个目录下创建

  12. partition 的数据如何保存到硬盘

  13. kafka 的 ack 机制

  14. Kafka 的消费者如何消费数据

  15. 消费者负载均衡策略

  16. 数据有序

  17. kafaka 生产数据时数据的分组策略


复习学习必备 44 个 Kafka 知识点(基础+进阶+高级)

Kafka 基础篇知识点(17)



Kafka 进阶篇知识点(15)


Kafka 高级篇知识点(12)


44 个 Kafka 知识点(基础+进阶+高级)解析如下


由于篇幅有限,小编已将上面介绍的《Kafka 源码解析与实战》、Kafka 面试专题解析、复习学习必备 44 个 Kafka 知识点(基础+进阶+高级)都整理成册,全部都是 PDF 文档,并且有需求即可分享

分布式:反向代理/Redis/中间件/消息+Kafka+Nginx++ZooKeeper+RabbitMQ+ActiveMQ+MongoDB+Redis:(地址)

用户头像

还未添加个人签名 2021.05.25 加入

Java学习笔记全集:知识大纲+大厂面试真题+微服务+MySQL+Redis+算法+网络+Linux+Spring全家桶+JVM+Java基础-中级-高级面试解析... https://docs.qq.com/doc/DVnpQWUROdlhkdVRZ

评论 (1 条评论)

发布
用户头像
一问 Kafka 就心慌?我却凭着这份《Kafka 源码实战》碾压面试官!
2021 年 06 月 15 日 14:28
回复
没有更多了
一问Kafka就心慌?我却凭着这份《Kafka源码实战》碾压面试官!