阿里云技术负责人首推:kafka从源码到实战一手掌握

Java架构师联盟 2020-11-08 20:13:32
apache java 大数据 kafka kaka


2011年年初,美国领英公司(LinkedIn)开源了一款基础架构软件,以奥地利作家弗兰兹·卡夫卡(Franz Kafka)的名字命名,之后LinkedIn将其贡献给Apache基金会,随后该软件于2012年10月成功完成孵化并顺利晋升为Apache顶级项目——这便是大名鼎鼎的ApacheKafka。历经7年发展,2017年11月,Apache Kafka正式演进到1.0时代,本书就是基于1.0.0版本来展开介绍Kafka的设计原理与实战的。

在大数据时代飞速发展的当下,Kafka凭借着其高吞吐低延迟、高压缩性、持久性、可靠性、容错性以及高并发的优势,解决了“在巨大数据下进行准确收集并分析”的难题,也受到了不少大厂以及工程师的青睐,

但是有大部分的人,在学习以及面试的过程中才发现自己并没有完全掌握其奥义,对于常见问题仍旧一知半解,这主要是源码阅读的过程中存在问题

(1)源文件太多,不知道重点;

(2)源码量太大,无数次从开始到放弃;

(3)方法不对,遇到“技巧性”编码就蒙圈;

(4)不够体系化,不会将源文件归类阅读。

下面给大家介绍一份kafka的源码解析笔记。

源码解析

由于本书的篇幅限制,本书并没有详细介绍Kafka源码中涉及的所有基础知识,例如Java NIO、JUC包中工具类的使用、命令行参数解析器的使用等,为方便读者阅读,笔者仅介绍了一些必须且重要的基础知识。在开始源码分析之前,希望读者按照第1章的相关介绍完成Kafka源码环境的搭建,并了解Kafka的核心概念,这样也可以有更好的学习效果。

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

本书共五章,它们互相之间的联系并不是很强,读者可以从头开始阅读,也可以选择自己感兴趣的章节进行学习。

第1章是Kafka的快速入门,其中介绍了Kafka 的背景、特性以及应用场景。之后介绍了笔者在实践中遇到的一个以Kafka为中心的案例,并分析了在此案例中选择使用Kafka的具体原因和Kafka起到的关键作用。最后介绍了Kafka中的核心概念和Kafka源.码调试环境的搭建。

第2章介绍了生产者客户端的设计特点和实现细节,剖析了KafkaProducer拦截消息、序列化消息、路由消息等功能的源码实现,介绍了RecordAccumulator的结构和实现。最后剖析了KafkaProducer 中 Sender线程的源码。

第3章介绍了Kafka的消息传递保证语义并给出了相关的实践建议,还介绍了ConsumerGroup Rebalance操作各个版本方案的原理和弊端。最后详细剖析了KafkaConsumer相关组件的运行原理和实现细节。

第4章介绍了构成Kafka服务端的各个组件,依次分析了Kafka网络层、API层、日志存储、DelayedOperationPurgatory组件、Kafka的副本机制、KafkaController、 GroupCoordinator 、Kafka的身份认证与权限控制以及Kafka 监控相关的实现。本章是Kafka的核心内容,涉及较多的设计细节和编程技巧,希望读者阅读之后有所收获。

第5章介绍了Kafka提供的多个脚本工具的使用以及具体实现原理,了解这些脚本可以帮助管理人员快速完成一些常见的管理、运维、测试功能。

目录

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

详细展示

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

kafka实战

本书是涵盖Apache Kafka各方面的具有实践指导意义的工具书和参考书。作者结合典型的使用场景,对Kafka整个技术体系进行了较为全面的讲解,以便读者能够举一反三,直接应用于实践。同时,本书还对Kafka的设计原理及其流式处理组件进行了较深入的探讨,并给出了详实的案例。

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

本书共分为10章:第1章全面介绍消息引擎系统以及Kaka的基本概念与特性,快速带领读者走进Kafka的世界;第2章简要回顾了Apache Kafka的发展历史;第3章详细介绍了Kafka 集群环境的搭建;第4、5章深入探讨了Kalka 客户端的使用方法;第6章带领读者一览Kaka 内部设计原理;第7-9章以实例的方式讲解了Kalka集群的管理、监控与调优;第10章介绍了Kafka新引入的流式处理组件。

适应人群

本书适合所有对云计算、大数据处理感兴趣的技术人员阅读,尤其适合对消息引擎、流式处理技术及框架感兴趣的技术人员参考阅读。

 

Kafka线上环境部署

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

producer开发\consumer开发

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

Kafka设计原理、管理Kafka集群、监控Kafka集群、调优Kafka集群

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

Kafka Connect与Kafka Streams

阿里云技术负责人首推:kafka从源码到实战一手掌握

 

需要这两份kafka学习文档的,关注公众号:Java架构师联盟,后台回复Java即可查看获取方式

版权声明
本文为[Java架构师联盟]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/4472036/blog/4708325

  1. 【计算机网络 12(1),尚学堂马士兵Java视频教程
  2. 【程序猿历程,史上最全的Java面试题集锦在这里
  3. 【程序猿历程(1),Javaweb视频教程百度云
  4. Notes on MySQL 45 lectures (1-7)
  5. [computer network 12 (1), Shang Xuetang Ma soldier java video tutorial
  6. The most complete collection of Java interview questions in history is here
  7. [process of program ape (1), JavaWeb video tutorial, baidu cloud
  8. Notes on MySQL 45 lectures (1-7)
  9. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  10. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  11. 精进 Spring Boot 03:Spring Boot 的配置文件和配置管理,以及用三种方式读取配置文件
  12. Refined spring boot 03: spring boot configuration files and configuration management, and reading configuration files in three ways
  13. 【递归,Java传智播客笔记
  14. [recursion, Java intelligence podcast notes
  15. [adhere to painting for 386 days] the beginning of spring of 24 solar terms
  16. K8S系列第八篇(Service、EndPoints以及高可用kubeadm部署)
  17. K8s Series Part 8 (service, endpoints and high availability kubeadm deployment)
  18. 【重识 HTML (3),350道Java面试真题分享
  19. 【重识 HTML (2),Java并发编程必会的多线程你竟然还不会
  20. 【重识 HTML (1),二本Java小菜鸟4面字节跳动被秒成渣渣
  21. [re recognize HTML (3) and share 350 real Java interview questions
  22. [re recognize HTML (2). Multithreading is a must for Java Concurrent Programming. How dare you not
  23. [re recognize HTML (1), two Java rookies' 4-sided bytes beat and become slag in seconds
  24. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  25. RPC 1: how to develop RPC framework from scratch
  26. 造轮子系列之RPC 1:如何从零开始开发RPC框架
  27. RPC 1: how to develop RPC framework from scratch
  28. 一次性捋清楚吧,对乱糟糟的,Spring事务扩展机制
  29. 一文彻底弄懂如何选择抽象类还是接口,连续四年百度Java岗必问面试题
  30. Redis常用命令
  31. 一双拖鞋引发的血案,狂神说Java系列笔记
  32. 一、mysql基础安装
  33. 一位程序员的独白:尽管我一生坎坷,Java框架面试基础
  34. Clear it all at once. For the messy, spring transaction extension mechanism
  35. A thorough understanding of how to choose abstract classes or interfaces, baidu Java post must ask interview questions for four consecutive years
  36. Redis common commands
  37. A pair of slippers triggered the murder, crazy God said java series notes
  38. 1、 MySQL basic installation
  39. Monologue of a programmer: despite my ups and downs in my life, Java framework is the foundation of interview
  40. 【大厂面试】三面三问Spring循环依赖,请一定要把这篇看完(建议收藏)
  41. 一线互联网企业中,springboot入门项目
  42. 一篇文带你入门SSM框架Spring开发,帮你快速拿Offer
  43. 【面试资料】Java全集、微服务、大数据、数据结构与算法、机器学习知识最全总结,283页pdf
  44. 【leetcode刷题】24.数组中重复的数字——Java版
  45. 【leetcode刷题】23.对称二叉树——Java版
  46. 【leetcode刷题】22.二叉树的中序遍历——Java版
  47. 【leetcode刷题】21.三数之和——Java版
  48. 【leetcode刷题】20.最长回文子串——Java版
  49. 【leetcode刷题】19.回文链表——Java版
  50. 【leetcode刷题】18.反转链表——Java版
  51. 【leetcode刷题】17.相交链表——Java&python版
  52. 【leetcode刷题】16.环形链表——Java版
  53. 【leetcode刷题】15.汉明距离——Java版
  54. 【leetcode刷题】14.找到所有数组中消失的数字——Java版
  55. 【leetcode刷题】13.比特位计数——Java版
  56. oracle控制用户权限命令
  57. 三年Java开发,继阿里,鲁班二期Java架构师
  58. Oracle必须要启动的服务
  59. 万字长文!深入剖析HashMap,Java基础笔试题大全带答案
  60. 一问Kafka就心慌?我却凭着这份,图灵学院vip课程百度云