Kafka常见问题学习路径源码阅读小结 | 写在Kafka3.0发布之际

本文主要是介绍Kafka常见问题学习路径源码阅读小结 | 写在Kafka3.0发布之际,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

严格来说,这篇文章也不是今天写的。是之前断断续续写在了几篇文章中。

2021年9月21日,随着Kafka3.0的发布,Kafka在「分布式流处理平台」这个目标上的努力进一步得到加强!Kafka不满足于「消息引擎」的定位,正式基于这样的定位,Kafka 社区于 0.10.0.0 版本正式推出了流处理组件 Kafka Streams,也正是从这个版本开始,Kafka 正式"变身"为分布式的流处理平台,而不仅仅是消息引擎系统了。

Kafka不仅是消息引擎系统,也是分布式流处理平台。

在某些场景,可以弃用Flink、Spark这样的计算引擎。借助Kafka Stream轻松实现数据处理。

那么我们在学习Kafka的时候应该从哪些方面入手?

我们在学习Kafka的时候,到底在学习什么?

我在这篇《我们在学习Kafka的时候,到底在学习什么?》这篇文章中总结了整体学习Kafka的方法和路径。

分别从背景核心概念核心原理源码阅读实际应用等。方面详细的讲解了学习路径和方法。各位读者需要根据自己的实际情况针对性的去学习其中的某一个部分。

这部分特别强调了一下Kafka Stream这个模块。正是Kafka Stream的出现使得Kafka的定位从原来的分布式、分区、有备份的提交日志服务变成了完整的分布式消息引擎和流式计算处理引擎。

Kafka源码阅读的一些小提示

如果你整体上对Kafka有一定的了解,并且简单的应用过Kafka。那么就有一个不可忽视的环节:源码阅读

Kafka的代码总量有50多万行,我们不太可能通盘阅读,只需要阅读其中的重要部分即可。在《Kafka源码阅读的一些小提示》中,参考网上的资料和自己阅读过的部分源码,给出了一个比较完全的源码阅读大纲。

f6d240fd4fcf2d93167077565c62d674.png

供大家参考。

Kafka常见错误小集合

最后这个部分,是一些常见的错误合集。供大家参考:

  • 《30个Kafka常见错误小集合》

Kafka3.0来袭

最后这个部分,是Kafka3.0中的一些重要更新。

Apache Kafka 3.0是一个涉及多方面的大版本,该版本引入了各种新功能、突破性的API更改以及对KRaft的改进——Apache Kafka的内置共识机制将取代Apache ZooKeeper。

虽然KRaft尚未被推荐用于生产(已知差距列表),但我们对KRaft元数据和API进行了许多改进。Exactly-once和分区重新分配支持值得强调。我们鼓励您查看KRaft的新功能并在开发环境中试用它。

从Apache Kafka 3.0开始,生产者默认启用最强的交付保证 (acks=all, enable.idempotence=true)。这意味着用户现在默认获得排序和持久性。

Kafka Connect任务重启增强、KStreams基于时间戳同步的改进以及 MirrorMaker2更灵活的配置选项。

此外,Kafka3.0中弃用了Java8的支持,需要大家升级JDK版本。

更多的详细信息可以网上搜搜。


cea7a95992f462cd500ab9117b8295eb.png

    八千里路云和月 | 从零到大数据专家学习路径指南

    我们在学习Flink的时候,到底在学习什么?

    193篇文章暴揍Flink,这个合集你需要关注一下

    Flink生产环境TOP难题与优化,阿里巴巴藏经阁YYDS

    Flink CDC我吃定了耶稣也留不住他!| Flink CDC线上问题小盘点

    我们在学习Spark的时候,到底在学习什么?

    在所有Spark模块中,我愿称SparkSQL为最强!

    硬刚Hive | 4万字基础调优面试小总结

    数据治理方法论和实践小百科全书

    标签体系下的用户画像建设小指南

    4万字长文 | ClickHouse基础&实践&调优全视角解析

    【面试&个人成长】2021年过半,社招和校招的经验之谈

    大数据方向另一个十年开启 |《硬刚系列》第一版完结

    我写过的关于成长/面试/职场进阶的文章

    当我们在学习Hive的时候在学习什么?「硬刚Hive续集」

你好,我是王知无,一个大数据领域的硬核原创作者。

做过后端架构、数据中间件、数据平台&架构&、算法工程化。

专注大数据领域实时动态&技术提升&个人成长&职场进阶,欢迎关注。

这篇关于Kafka常见问题学习路径源码阅读小结 | 写在Kafka3.0发布之际的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1142627

相关文章

MySQL中VARCHAR和TEXT的区别小结

《MySQL中VARCHAR和TEXT的区别小结》MySQL中VARCHAR和TEXT用于存储字符串,VARCHAR可变长度存储在行内,适合短文本;TEXT存储在溢出页,适合大文本,下面就来具体的了解... 目录一、VARCHAR 和 TEXT 基本介绍1. VARCHAR2. TEXT二、VARCHAR

全网最全Tomcat完全卸载重装教程小结

《全网最全Tomcat完全卸载重装教程小结》windows系统卸载Tomcat重新通过ZIP方式安装Tomcat,优点是灵活可控,适合开发者自定义配置,手动配置环境变量后,可通过命令行快速启动和管理... 目录一、完全卸载Tomcat1. 停止Tomcat服务2. 通过控制面板卸载3. 手动删除残留文件4.

Python打包成exe常用的四种方法小结

《Python打包成exe常用的四种方法小结》本文主要介绍了Python打包成exe常用的四种方法,包括PyInstaller、cx_Freeze、Py2exe、Nuitka,文中通过示例代码介绍的非... 目录一.PyInstaller11.安装:2. PyInstaller常用参数下面是pyinstal

利用Python把路径转为绝对路径的方法

《利用Python把路径转为绝对路径的方法》在Python中,如果你有一个相对路径并且想将其转换为绝对路径,你可以使用Path对象的resolve()方法,Path是Python标准库pathlib中... 目录1. os.path.abspath 是什么?怎么用?基本用法2. os.path.abspat

Java 字符串操作之contains 和 substring 方法最佳实践与常见问题

《Java字符串操作之contains和substring方法最佳实践与常见问题》本文给大家详细介绍Java字符串操作之contains和substring方法最佳实践与常见问题,本文结合实例... 目录一、contains 方法详解1. 方法定义与语法2. 底层实现原理3. 使用示例4. 注意事项二、su

java 恺撒加密/解密实现原理(附带源码)

《java恺撒加密/解密实现原理(附带源码)》本文介绍Java实现恺撒加密与解密,通过固定位移量对字母进行循环替换,保留大小写及非字母字符,由于其实现简单、易于理解,恺撒加密常被用作学习加密算法的入... 目录Java 恺撒加密/解密实现1. 项目背景与介绍2. 相关知识2.1 恺撒加密算法原理2.2 Ja

python中getsizeof和asizeof的区别小结

《python中getsizeof和asizeof的区别小结》本文详细的介绍了getsizeof和asizeof的区别,这两个函数都用于获取对象的内存占用大小,它们来自不同的库,下面就来详细的介绍一下... 目录sys.getsizeof (python 内置)pympler.asizeof.asizeof

Nginx屏蔽服务器名称与版本信息方式(源码级修改)

《Nginx屏蔽服务器名称与版本信息方式(源码级修改)》本文详解如何通过源码修改Nginx1.25.4,移除Server响应头中的服务类型和版本信息,以增强安全性,需重新配置、编译、安装,升级时需重复... 目录一、背景与目的二、适用版本三、操作步骤修改源码文件四、后续操作提示五、注意事项六、总结一、背景与

Android实现图片浏览功能的示例详解(附带源码)

《Android实现图片浏览功能的示例详解(附带源码)》在许多应用中,都需要展示图片并支持用户进行浏览,本文主要为大家介绍了如何通过Android实现图片浏览功能,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、项目背景详细介绍二、项目需求详细介绍三、相关技术详细介绍四、实现思路详细介绍五、完整实现代码

springboot中使用okhttp3的小结

《springboot中使用okhttp3的小结》OkHttp3是一个JavaHTTP客户端,可以处理各种请求类型,比如GET、POST、PUT等,并且支持高效的HTTP连接池、请求和响应缓存、以及异... 在 Spring Boot 项目中使用 OkHttp3 进行 HTTP 请求是一个高效且流行的方式。