今天我们来聊聊 Kafka ,主要是带你重新认识一下 Kafka,聊一下 Kafka 中比较重要的概念和问题。
我们现在经常提到 Kafka 的时候就已经默认它是一个非常优秀的消息队列了,我们也会经常拿它给 RocketMQ、RabbitMQ 对比。我觉得 Kafka 相比其他消息队列主要的优势如下:
极致的性能 :基于 Scala 和 Java 语言开发,设计中大量使用了批量处理和异步的思想,最高可以每秒处理千万级别的消息。
生态系统兼容性无可匹敌 :Kafka 与周边生态系统的兼容性是最好的没有之一,尤其在大数据和流计算领域。
实际上在早期的时候 Kafka 并不是一个合格的消息队列,早期的 Kafka 在消息队列领域就像是一个衣衫褴褛的孩子一样,功能不完备并且有一些小问题比如丢失消息、不保证消息可靠性等等。当然,这也和 LinkedIn 最早开发 Kafka 用于处理海量的日志有很大关系,哈哈哈,人家本来最开始就不是为了作为消息队列滴,谁知道后面误打误撞在消息队列领域占据了一席之地。
随着后续的发展,这些短板都被 Kafka 逐步修复完善。所以,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.可靠性分析
1.命令行工具
2.Kafka Connect
3.Kafka Mirror Maker
4.Kafka Streams
1.监控数据的来源
2.消费滞后
3.同步失效分区
4.监控指标说明
5.监控模块
1.过期时间(TTL)
2.延时队列
3.死信队列和重试队列
4.消息路由
5.消息轨迹
6.消息审计
7.消息代理
8.消息中间件选型
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 等等。