Alibaba技术官熬夜肝出的,Kafka “限量笔记” 牛掰 ~

news2024/11/20 14:22:29

前言

分布式,是程序员必备技能之一,在面试过程中属于必备类的,在工作中更是会经常用到。而Kafka是一个分布式的基于发布订阅的消息队列,目前它的魅力是无穷的,对于Kafka的奥秘,还需要我们细细去探寻。

要谈对Kafka有多熟悉,我相信还是阿里的大佬们最有发言权,所以今天分享的内容,就是Alibaba内部供应的“限量笔记”,关于Kafka的精髓全部写在这里面了,不得不感叹:不愧是Alibaba的技术官啊,真的服了!

关于这份Kafka限量笔记,篇幅原因只能在文章中展示部分的章节内容和核心截图

一、对Kafka的认识

1.Kafka的基本概念

2.安装与配置

3.生产与消费

4.服务端参数配置

二、生产者

1.客户端开发

  • 必要的参数配置

  • 消息的发送

  • 序列化

  • 分区器

  • 生产者拦截器

2.原理分析

  • 整体架构

  • 元数据的更新

3.重要的生产者参数

三、消费者

1.消费者与消费组

2.客户端开发

  • 必要的参数配置

  • 订阅主题与分区

  • 反序列化

  • 消息消费

  • 位移提交

  • 控制或关闭消费

  • 指定位移消费

  • 再均衡

  • 消费者拦截器

  • 多线程实现

  • 重要的消费者参数

四、主题与分区

1.主题的管理

  • 创建主题

  • 分区副本的分配

  • 查看主题

  • 修改主题

  • 配置管理

  • 主题端参数

  • 删除主题

2.初识KafkaAdminCilent

  • 基本使用

  • 主题合法性验证

3.分区的管理

  • 优先副本的选举

  • 分区重分配

  • 复制限流

  • 修改副本因子

4.如何选择合适的分区数

  • 性能测试工具

  • 分区数越多吞吐量就越高吗

  • 分区数的上限

  • 考量因素

五、日志存储

1.文件目录布局

2.日志格式的演变

  • v0版本

  • v1版本

  • 消息压缩

  • 变长字段

  • v2版本

3.日志索引

  • 偏移量索引

  • 时间戳索引

4.日志清理

  • 日志删除

  • 日志压缩

5.磁盘存储

  • 页缓存

  • 磁盘I/O流程

  • 零拷贝

六、深入服务端

1.协议设计

2.时间轮

3.延时操作

4.控制器

5.参数解密

七、深入客户端

1.分区分配策略

2.消费者协调器和组协调器

3._consumer_offsets剖析

4.事务

八、可靠性探究

1.副本剖析

2.日志同步机制

3.可靠性分析

九、Kafka应用

1.命令行工具

2.Kafka Connect

3.Kafka Mirror Maker

4.Kafka Streams

十、Kafka监控

1.监控数据的来源

2.消费滞后

3.同步失效分区

4.监控指标说明

5.监控模块

十一、高级应用

1.过期时间(TTL)

2.延时队列

3.死信队列和重试队列

4.消息路由

5.消息轨迹

6.消息审计

7.消息代理

8.消息中间件选型

十二、Kafka与Spark的集成

1.Spark的安装及简单应用

2.Spark编程模型

3.Spark的运行结构

4.Spark Streaming简介

5.Kafka与Spark Streaming的整合

6.Spark SQL

7.Structured Streaming

8.Kafka与Structured Streaming的整合

总结

我们总是喜欢瞻仰大厂的大神们,但实际上大神也不过凡人,与菜鸟程序员相比,也就多花了几分心思,如果你再不努力,差距也只会越来越大。实际上,作为程序员,丰富自己的知识储备,提升自己的知识深度和广度是很有必要的,在我看来,自己付出多少,回报就有多少。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502194.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GUN C编译器拓展语法学习笔记(三)内联函数、内建函数与可变参数宏

内联函数、内建函数与可变参数宏 一、内联函数1.1 属性声明:noinline1.2 内联函数与宏1.3 编译器对内联函数的处理1.4 内联函数为什么定义在头文件中 二、内建函数2.1 内建函数定义2.2 常用的内建函数2.3 C标准库的内建函数2.4 内建函数:__builtin_const…

WPF异常处理详解

总目录 文章目录 总目录一、WPF异常1 未捕获异常2 模拟未捕获异常场景 二、处理未捕获异常1 DispatcherUnhandledException 异常捕获2 UnhandledException异常捕获3 UnobservedTaskException异常捕获4 异常捕获的综合使用 结语 一、WPF异常 1 未捕获异常 正常情况下&#xff…

《走进对象村5》面向对象的第二大特性——继承

文章目录 🚀文章导读1.1 为什么需要继承1.2 继承的概念**关于继承有如下三点请记住:**1.4 父类成员访问1.4.1 子类中访问父类成员变量1.4.2 super 关键字1.4.3 子类中访问父类成员方法 1.5 子类构造方法1.6 面试题this 和 super 的区别(重点)1.7 再谈代码…

深度解读绩效管理PDCA循环(含操作指南、案例应用)

绩效管理的PDCA循环是一个重要的管理工具,它由四个步骤组成:绩效计划(Plan)、绩效执行(Do)、绩效评估(Check)和结果应用(Action)。这个循环可以帮助组织不断地…

【红黑树】到底是什么,它有哪些基本操作,它的用处是什么,代码如何实现

红黑树是一种自平衡二叉查找树,具有良好的时间复杂度和空间复杂度,被广泛应用于计算机科学领域中,如操作系统、编译器、数据库等。在实际应用中,红黑树主要用于实现高效的查找和排序,如 Linux 内核中的进程调度和空闲内…

VRIK+Unity XR Interaction Toolkit 配置 VR 全身模型(下):实现腿部行走动画

在上一篇教程:VRIKUnity XR Interaction Toolkit 配置 VR 全身模型(上):实现上半身的追踪(附带VRM模型导入Unity方法和手腕扭曲的解决方法)当中,我们通过配置VRIK Unity XR Interaction Toolki…

WiFi(Wireless Fidelity)基础(一)

目录 一、基本介绍(Introduction) 二、进化发展(Evolution) 三、PHY帧((PHY Frame ) 四、MAC帧(MAC Frame ) 五、协议(Protocol) 六、安全&#x…

小松鼠踩一踩游戏

文章目录 一、 介绍和知识点九、UnityFacade 门面设计模式二、 声音全局管理器测试音频代码UI全局管理器父类抽象类 BaseManager子类 UIManager 四、 UI按钮的引用父类 BasePanel子类主面板 MainPanel子类 游戏中 GamePanel子类 游戏结果 ResultPanel 角色动画器、控制角色移动…

性能测试如何做?一套完整的性能测试流程,“我“拒绝背锅...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 1、测试准备工作 …

中兴B860AV2.1-T(M)-高安版-当贝纯净桌面线刷固件包

中兴B860AV2.1-T(M)-高安版-当贝纯净桌面线刷固件包-内有教程及短接点 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件…

有序序列中插入一个整数

思路: 将输入的要插入的数m依次和数组中的元素进行比较。 思: 在排好序的数组中,从右往左比较还是从左往右比较? 其实都可以,但是我觉得从右边(也就是最大的数)依次开始比较,程序比较…

纯前端JS实现文件上传解析渲染页面

AI真的能代替前端吗? 回答:不会完全代替 能用吗?复制到项目中只会报错 爆红 ……他完全不能理解你需要什么JavaScript(简称JS)是一种轻量级的脚本语言,主要用于在Web页面上添加交互行为。它由三个不同的…

5月跳槽有风险,不跳也有?

今天讲讲跳槽。 说实话跳槽是为了寻求更好的发展,但在跳槽前我们也不能确定下家就是更好的归宿,这就更加需要我们审慎地去对待,不能盲目跳槽。 其次,我们离职和跳槽,其中的原因很大一部分是目前薪资不符合预期。 那…

基于python+opencv的人脸识别打卡(手把手教你)

基于pythonopencv的人脸识别打卡 1 创建环境2 准备工作2.1新建members.csv文件2.2新建face文件夹2.3注意事项 3 源码4 操作步骤 1 创建环境 conda create -n face python3.7 conda activate face pip install opencv-python pip install pillow pip install opencv-contrib-py…

基于Redis中zset实现延时任务

目录 概要 一、实现原理 适用场景 二、准备工作 三、代码实现 四、zset的优缺点 优点 缺点 概要 本文章主要记录的是使用Redis中的zset实现延时任务,在工作中,像这样的的延时任务是不可避免的,举个栗子:买一张火车票&#…

企业如何利用网络趋势做好线上营销?

随着互联网的不断发展,线上营销越来越成为企业营销的重要组成部分。如何利用网络趋势做好线上营销,已经成为各大企业关注的焦点。本文将为大家介绍如何利用网络趋势做好线上营销的方法和技巧。 一、了解网络趋势 了解网络趋势是做好线上营销的关键。网络…

uboot移植Linux-SD驱动代码解析

一、uboot与linux驱动 1.1、uboot本身是裸机程序 (1)狭义的驱动概念是指:操作系统中用来具体操控硬件的代码叫驱动 广义的驱动概念是指:凡是操控硬件的代码都叫驱动 (2)裸机程序中是直接使用寄存器的物理地址来操控硬件的,操作系统中必须通…

最新版千帆直播网站系统PHP完整版源码(PC+WAP在线观看视频)附安装教程

最新版千帆直播网站PHP完整版源码,PCWAP在线观看视频直播系统 安装方法: 1、导入数据库文件 zhibo.sql 2、修改数据库配置文件 有多处包含UC配置; 根目录:config.inc.php – config.php 其他路径: Conf/config.php Admin/C…

JVM(三):JVM命令与参数

JVM命令与参数 文章目录 JVM命令与参数JVM参数标准参数-X 参数-XX参数其他参数说明常用参数的意义 常用命令jpsjinfojstatjstackjmap 常用工具jconsolejvisualvm内存分析工具 MATGC日志分析工具内存分析工具 MATGC日志分析工具 经过前面的各种分析学习,我们知道了关…

淦,服务器被人传了后门木马。。。

「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 今天很暴躁,因为睡眠被打扰了。 一个朋友大半夜打我电话,说她云服…