写点什么

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

用户头像
Java~~~
关注
发布于: 3 小时前
腾讯技术官手撸笔记,全新演绎“Kafka部署实战”,已开源

导言

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

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

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

大佬的笔记必不可少:腾讯技术官手撸笔记分享,全新演绎“Kafka 部署实战”,已开源。

《Kafka 笔记》完整 pdf 版下载:添加微信:mxh5261。


一、初识 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,想必刻不容缓。

这份《Kafka 笔记》免费分享,有需要的可以添加微信:mxh5261~

发布于: 3 小时前阅读数: 4
用户头像

Java~~~

关注

还未添加个人签名 2020.11.03 加入

添加小助理VX:MXH5261获取进阶资料哦

评论

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