腾讯资深技术官23天手撸笔记,全新演绎“Kafka部署实战”,已开源下载

Posted Javachichi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯资深技术官23天手撸笔记,全新演绎“Kafka部署实战”,已开源下载相关的知识,希望对你有一定的参考价值。

导言

我们知道,当下流行的MQ非常多,不过很多公司在技术选型上还是选择使用Kafka。与其他主流MQ进行对比,我们会发现Kafka最大的优点就是吞吐量高。实际上Kafka是高吞吐低延迟的高并发、高性能的消息中间件,配置良好的Kafka集群甚至可以做到每秒几十万、上百万的超高并发写入。

除此之外,在热招的Java架构师岗位面试中,Kafka相关的面试题被面试官问到的几率也是非常大的,所以拥有一定年限的开发者,搞懂Kafka是很有必要的。

那么怎么才能有效且快速学习Kafka呢?

大佬的笔记必不可少:腾讯技术官手撸笔记分享,全新演绎“Kafka部署实战”,已开源。
《Kafka笔记》完整pdf版:免费领取方式在文末!

在这里插入图片描述

一、初识Kafka(Kafka入门)

①Kafka基本概念
在这里插入图片描述

②安装与配置

在这里插入图片描述

③生产与消费
在这里插入图片描述

④服务端参数配置
在这里插入图片描述

二、生产者

①客户端开发(必要的参数配置+消息的发送+序列化+分区器+生产者拦截器)

在这里插入图片描述

②原理分析(整体架构+元数据的更新)

在这里插入图片描述

③重要的生产者参数
在这里插入图片描述

三、消费者

①消费者与消费组

在这里插入图片描述

②客户端开发(必要的参数配置+订阅主题与分区+反序列化+消息消费+位移提交+控制或关闭消费+指定位移消费+再均衡+消费者拦截器+多线程实现+重要的消费者参数)

在这里插入图片描述

四、主题与分区

①主题的管理(创建主题+分区副本的分配+查看主题+修改主题+配置管理+主题端参数+删除主题)
在这里插入图片描述

②初始Kafka AdminClient(基本使用+主题合法性验证)

在这里插入图片描述

③分区的管理(优先副本的选举+分区重分配+复制限流+修改副本因子)

在这里插入图片描述

④如何选择合适的分区数(性能测试工具+分区数越多吞吐量就越高吗+分区数的上限+参考因素)

在这里插入图片描述

五、日志存储

①文件目录布局
在这里插入图片描述

②日志格式的演变(v0版本+v1版本+消息压缩+变长字段+v2版本)

在这里插入图片描述

③日志索引(偏移量索引+时间戳索引)

在这里插入图片描述

④日志清理(日志删除+日志压缩)

在这里插入图片描述

⑤磁盘存储(页缓存+磁盘I/O流程+零拷贝)

在这里插入图片描述

六、深入服务端

①协议设计

在这里插入图片描述

②时间轮

在这里插入图片描述

③延时操作
在这里插入图片描述

④控制器(控制器的选举及异常恢复+优雅关闭+分区leader的选举+参数解密)

在这里插入图片描述

⑤参数解密(broker.id+bootstrap.servers+服务端参数列表)

在这里插入图片描述

七、深入客户端

①分区分配策略(RangeAssignor分配策略+RoundRobinAssignor分配策略+StickyAssignor分配策略+自定义分区分配策略)
在这里插入图片描述

②消费者协调器和组协调器(旧版消费者客户端的问题+再均衡的原理)

在这里插入图片描述

③_consumer_offsets剖析

在这里插入图片描述

④事务(消息传输保障+幂等+事务)
在这里插入图片描述

八、可靠性探究

①副本剖析(失效副本+ISR的伸缩+LEO与HW+Leader Epoch的介入+为什么不支持读写分离)

在这里插入图片描述

②日志同步机制

在这里插入图片描述

③可靠性分析
在这里插入图片描述

九、Kafka应用

①命令行工具(消费组管理+消费位移管理+手动删除消息)

在这里插入图片描述

②Kafka Connect(独立模式+REST API+分布式模式)

在这里插入图片描述

③Kafka Mirror Maker
在这里插入图片描述

④Kafka Streams

在这里插入图片描述

十、Kafka监控

①监控数据的来源(OneMinuteRate+获取监控指标)

在这里插入图片描述

②消费滞后

在这里插入图片描述

③同步失效分区
在这里插入图片描述

④监控指标说明

在这里插入图片描述

⑤监控模块

在这里插入图片描述

十一、高级应用

①过期时间(TTL)

在这里插入图片描述

②延时队列

在这里插入图片描述

③死信队列和重试队列
在这里插入图片描述

④消息路由
在这里插入图片描述

⑤消息轨迹

在这里插入图片描述

⑥消息审计

在这里插入图片描述

⑦消息代理(快速入门+REST API介绍及示例+服务端配置及部署+应用思考)

在这里插入图片描述

⑧消息中间件选型(各类消息中间件简述+选型要点概述+消息中间件选型误区探讨)

在这里插入图片描述

十二、Kafka与Spark的集成

①Spark的安装及简单应用
在这里插入图片描述

②Spark编程模型

在这里插入图片描述

③Spark的运行结构

在这里插入图片描述

④Spark Streaming简介

在这里插入图片描述

⑤Kafka与Spark Streaming的整合
在这里插入图片描述

⑥Spark SQL

在这里插入图片描述

⑦Structured Streaming

在这里插入图片描述

⑧Kafka与Structured Streaming的整合

在这里插入图片描述

总结

Kafka的探讨就在这里,只能展示部分内容,实际上笔记内详细记载了Kafka的实践内容,包括大量的代码实现形式。

如果你对自己的职业生涯有清晰的规划路线,想要往更长远的方向去发展,那么学习Kafka,想必刻不容缓。

因为这份文档包含的内容实在是太多了 ,不能够很详细地给大家展示出来全部的内容。需要完整版文档的小伙伴,可以看向下面来获取!

需要完整版文档的小伙伴,可以一键三连,下方获取免费领取方式!
在这里插入图片描述

以上是关于腾讯资深技术官23天手撸笔记,全新演绎“Kafka部署实战”,已开源下载的主要内容,如果未能解决你的问题,请参考以下文章

手撸golang 架构设计原则 合成复用原则

不愧是Alibaba技术官,Kafka的精髓全写这本“限量笔记”里,服了

手撸golang 架构设计原则 里氏替换原则

手撸golang 架构设计原则 依赖倒置原则

手撸golang 架构设计原则 迪米特法则

手撸golang 架构设计原则 开闭原则