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

2020-12-03 10:52:47 浏览数 (1)

导言

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

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

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

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

一、初识Kafka(Kafka入门)

①Kafka基本概念

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

②安装与配置

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

③生产与消费

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

④服务端参数配置

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

二、生产者

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

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

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

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

③重要的生产者参数

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

三、消费者

①消费者与消费组

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

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

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

四、主题与分区

①主题的管理(创建主题 分区副本的分配 查看主题 修改主题 配置管理 主题端参数 删除主题)

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

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

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

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

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

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

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

五、日志存储

①文件目录布局

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

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

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

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

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

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

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

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

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

六、深入服务端

①协议设计

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

②时间轮

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

③延时操作

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

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

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

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

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

七、深入客户端

①分区分配策略(RangeAssignor分配策略 RoundRobinAssignor分配策略 StickyAssignor分配策略 自定义分区分配策略)

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

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

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

③_consumer_offsets剖析

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

④事务(消息传输保障 幂等 事务)

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

八、可靠性探究

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

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

②日志同步机制

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

③可靠性分析

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

九、Kafka应用

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

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

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

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

③Kafka Mirror Maker

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

④Kafka Streams

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

十、Kafka监控

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

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

②消费滞后

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

③同步失效分区

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

④监控指标说明

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

⑤监控模块

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

十一、高级应用

①过期时间(TTL)

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

②延时队列

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

③死信队列和重试队列

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

④消息路由

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

⑤消息轨迹

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

⑥消息审计

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

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

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

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

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

十二、Kafka与Spark的集成

①Spark的安装及简单应用

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

②Spark编程模型

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

③Spark的运行结构

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

④Spark Streaming简介

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

⑤Kafka与Spark Streaming的整合

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

⑥Spark SQL

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

⑦Structured Streaming

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

⑧Kafka与Structured Streaming的整合

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

总结

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

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

0 人点赞