【面霸必备系列】Kafka 底层原理阶段性总结
之前在好未来将近3年时间里,因工作需要接触 Kafka 比较多,现打算将它们总结并沉淀为一篇篇文章,算是对 Kafka 进行一次知识梳理,包括:
1)、Kafka 核心技术底层原理深度剖析系列
2)、Kafka 专项知识深度剖析以及源码剖析系列
3)、实践工作中遇到的问题排查与性能优化系列
目前只小小的完成了Kafka 核心技术底层原理深度剖析系列,后面还会持续更新,大家期待。
kafka 核心技术底层原理剖析汇总
对于初学者或者不了解 Kafka 的读者,可以从本篇开始读起,讲解了Kafka 基础知识, 让大家对 Kafka 有个初步的认识:
当大家对 Kafka 有所了解后, 本篇开始讲述 Kafka 高可用、高并发、高性能的架构设计奥秘,奠定 Kafka 在大数据领域的地位:
这篇文章从架构师必备能力出发, 讲述了 Kafka 生产级容量评估方案该如何做?如何让公司领导以及运维部门得到认可, 获准你的方案:
上面从一个整体的方面讲解了 Kafka 的架构以及生产方案, 从本篇开始,开始从数据流转的过程, 简易流程如下图:
开始讲解 Kafka 底层硬核原理实现,包括 Kafka Producer 如何初始化,发送流程是怎样的,高性能网络发送以及存储架构是怎么设计的,以及 Producer 端的参数如何进行调优,让你对 Producer 设计有更深的认识:
当 Kafka Producer 将消息数据通过网络架构发送到 Kafka 集群后, 那么 Kafka Broker 如何保证高可用,Broker Controller 故障转移如何处理,日志复制的HW和LEO机制是如何设计的,又是如何更新的, LeaderEpoch 的改进方案以及延迟任务如何设计:
最后当 Kafka Producer 生产完消息,并提交保存到 Kafka Broker 的 Topic 后,Kafka Consumer 是如何进行数据消费的,又是以何种方式进行消费的?分区分配策略有哪些, 消费者组和重平衡机制是如何处理的, 偏移量如何提交和存储,消费进度如何监控,如何保证消费处理完成?本篇进行了深度的剖析:
至此 Kafka 核心底层原理系列部分先暂时告一段落,后续会持续更新关于 Kafka 专项知识、源码剖析、实战经验、性能优化等。。
未来计划
继续保持现有 「硬核、高质量内容文章」输出, 让大家看完都有所收获。
MySQL 系列原理与实践
Redis 系列原理与实践
系统架构设计
golang、性能优化
后记
如果大家读完我的文章有所收获,还请帮忙多多 关注 点赞、在看、转发 一下哦, 这样会给我持续输出动力,在此感谢大家, 为了更好的沟通交流,特此创建了一个读者群,喜欢 kafka 或者相关技术讨论的朋友可以进群。
坚持总结, 持续输出高质量文章 关注我: 华仔聊技术