Kafka架构使用指南,精心总结,全面讲解

本文全面解析Kafka消息系统的架构与关键技术,包括生产者、消费者、主题分区等核心组件的工作原理,以及日志存储机制和可靠性保障措施。适合希望深入了解Kafka内部运作机制的技术人员阅读。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速搞定 Kafka 术语

消息:Record。Kafka 是消息引擎嘛,这里的消息就是指 Kafka 处理的主要对象。
主题:Topic。主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务。
分区:Partition。一个有序不变的消息序列。每个主题下可以有多个分区。
消息位移:Offset。表示分区中每条消息的位置信息,是一个单调递增且不变的值。
副本:Replica。Kafka 中同一条消息能够被拷贝到多个地方以提供数据冗余,这些地方就是所谓的副本。副本还分为领导者副本和追随者副本,各自有不同的角色划分。副本是在分区层级下的,即每个分区可配置多个副本实现高可用。
生产者:Producer。向主题发布新消息的应用程序。
消费者:Consumer。从主题订阅新消息的应用程序。
消费者位移:Consumer Offset。表征消费者消费进度,每个消费者都有自己的消费者位移。
消费者组:Consumer Group。多个消费者实例共同组成的一个组,同时消费多个分区以实现高吞吐。
重平衡:Rebalance。消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。Rebalance 是 Kafka 消费者端实现高可用的重要手段。

Kafka 体系架构 = M个 producer + N个 broker + K个 consumer + ZK 集群

前不久小编刷到了一份大佬总结的的Kafka使用指南,我看了一下,确实是很强。关于这份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

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

7.Structured Streaming

8.Kafka与Structured Streaming的整合

总结

毋庸置疑,目前 Apache Kafka 是整个消息引擎领域的执牛耳者,也是大数据生态圈中颇为重量级的一员。从最早诞生于 LinkedIn 的“分布式消息系统”,到现在集成了分发、存储和计算的“流式数据平台”,Kafka 广泛应用于国内外大厂,比如 BAT、字节跳动、美团、Netflix、Airbnb、Twitter 等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值