啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?

初识 Kafka

什么是 Kafka

Kafka 是由 Linkedin 公司开发的,它是一个分布式的,支持多分区、多副本,基于 Zookeeper 的分布式消息流平台,它同时也是一款开源的基于发布订阅模式的消息引擎系统。

Kafka 的特性(设计原则)

高吞吐、低延迟:kakfa 最大的特点就是收发消息非常快,kafka 每秒可以处理几十万条消息,它的最低延迟只有几毫秒。
高伸缩性: 每个主题(topic) 包含多个分区(partition),主题中的分区可以分布在不同的主机(broker)中。
持久性、可靠性: Kafka 能够允许数据的持久化存储,消息被持久化到磁盘,并支持数据备份防止数据丢失,Kafka 底层的数据存储是基于 Zookeeper 存储的,Zookeeper 我们知道它的数据能够持久存储。
容错性: 允许集群中的节点失败,某个节点宕机,Kafka 集群能够正常工作
高并发: 支持数千个客户端同时读写

这里分享一份我一直在刷的Kafka学习使用指南,是真的强,可以说介绍是非常详细了,也能够很快上手。 关于这份Kafka限量笔记,我只能在文章中展示部分的章节内容和核心截图

一、对Kafka的认识

1.Kafka的基本概念

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第1张图片

2.安装与配置

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第2张图片

3.生产与消费

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第3张图片

4.服务端参数配置

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第4张图片

二、生产者

1.客户端开发

  • 必要的参数配置
  • 消息的发送
  • 序列化
  • 分区器
  • 生产者拦截器

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第5张图片

2.原理分析

  • 整体架构
  • 元数据的更新

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第6张图片

3.重要的生产者参数

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第7张图片

三、消费者

1.消费者与****消费组

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第8张图片

2.客户端开发

  • 必要的参数配置
  • 订阅主题与分区
  • 反序列化
  • 消息消费
  • 位移提交
  • 控制或关闭消费
  • 指定位移消费
  • 再均衡
  • 消费者拦截器
  • 多线程实现
  • 重要的消费者参数

     

四、主题与分区

1.主题的管理

  • 创建主题
  • 分区副本的分配
  • 查看主题
  • 修改主题
  • 配置管理
  • 主题端参数
  • 删除主题

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第9张图片

2.初识KafkaAdminCilent

  • 基本使用
  • 主题合法性验证

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第10张图片

3.分区的管理

  • 优先副本的选举
  • 分区重分配
  • 复制限流
  • 修改副本因子

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第11张图片

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

  • 性能测试工具
  • 分区数越多吞吐量就越高吗
  • 分区数的上限
  • 考量因素

     

    啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第12张图片

五、日志存储

1.文件目录布局
2.日志格式的演变

  • v0版本

  • v1版本

  • 消息压缩

  • 变长字段

  • v2版本
    3.日志索引

  • 偏移量索引

  • 时间戳索引

4.日志清理

  • 日志删除

  • 日志压缩
    5.磁盘存储

  • 页缓存

  • 磁盘I/O流程

  • 零拷贝

     

六、深入服务端

1.协议设计
2.时间轮
3.延时操作
4.控制器
5.参数解密

七、深入客户端

1.分区分配策略
2.消费者协调器和组协调器

3._consumer_offsets剖析

4.事务

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第13张图片

八、可靠性探究

1.副本剖析
2.日志同步机制

3.可靠性分析

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第14张图片

九、Kafka应用

1.命令行工具
2.Kafka Connect
3.Kafka Mirror Maker

4.Kafka Streams

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第15张图片

十、Kafka监控

1.监控数据的来源

2.消费滞后

3.同步失效分区

4.监控指标说明

5.监控模块

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第16张图片

十一、高级应用

1.过期时间(TTL)

2.延时队列

3.死信队列和重试队列

4.消息路由

5.消息轨迹

6.消息审计

7.消息代理

8.消息中间件选型

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第17张图片

十二、Kafka与Spark的集成

1.Spark的安装及简单应用

2.Spark编程模型

3.Spark的运行结构

4.Spark Streaming简介

5.Kafka与Spark Streaming的整合

6.Spark SQL

[图片上传失败...(image-cab1ce-1664085096091)]

7.Structured Streaming

8.Kafka与Structured Streaming的整合

啊喂,Kafka懂了吗?会用吗?学习使用指南看过吗?_第18张图片

总结

Kafka通过ACK应答机制保证了不同组件之间的通信效率,通过副本同步机制、数据截断和数据清理机制实现了对于数据的管理策略,保证整个系统运行效率。
作为一款高性能又同时兼顾高可靠性的消息中间件来说,Kafka能吹的点实在太多。你知道的越多,不知道的越多

你可能感兴趣的:(java,后端,学习,kafka)