我觉得最高效的方式就是去读最核心的源码,先看一张 Kafka结构图 以及 Kafka 源码全景图
梳理一下关于 Kafka 框架,找到学习的重点。
前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 判断一个节点是否还活着有那两个条件?
producer 是否直接将数据发送到 broker 的 leader(主节点)?
Kafa consumer 是否可以消费指定分区消息?
Kafka 消息是采用 Pull 模式,还是 Push 模式?
Kafka 存储在硬盘上的消息格式是什么?
Kafka 高效文件存储设计特点
Kafka 与传统消息系统之间有三个关键区别
Kafka 创建 Topic 时如何将分区放置到不同的 Broker 中
Kafka 新建的分区会在哪个目录下创建
partition 的数据如何保存到硬盘
kafka 的 ack 机制
Kafka 的消费者如何消费数据
消费者负载均衡策略
数据有序
kafaka 生产数据时数据的分组策略
Kafka高级篇知识点(12)
44个Kafka知识点(基础+进阶+高级)解析如下
最后,强调几点:
我个人觉得面试也像是一场全新的征程,失败和胜利都是平常之事。所以,劝各位不要因为面试失败而灰心、丧失斗志。也不要因为面试通过而沾沾自喜,等待你的将是更美好的未来,继续加油!
以上面试专题的答小编案整理成面试文档了,文档里有答案详解,以及其他一些大厂面试题目。
如何获取整理好的Java面试专题资料?
资料获取方式:点击这里免费下载
.com/vip204888/java-p7)**
[外链图片转存中…(img-97JUqRrZ-1626947346663)]
[外链图片转存中…(img-Kf3t5qRY-1626947346663)]