【学习笔记】kafka权威指南——第1章 初识kafka

第1章 初识kafka

1.1 发布于订阅消息系统

1.1.1 如何开始

多个生产者与多个消费者直接通信,导致结构复杂与混乱。于是多个生产者与多个消费者开始通过消息中间件通信。

1.1.2 独立的队列系统

但是多个场景又使用了独立的队列。导致有多个队列且功能相同,但相互独立。

1.2 kafka登场

1.2.1 消息和批次

1>消息就是一条元数据,kafka传递的便是消息

2>批次是一次传输多条消息,因为一条一条传输会有大量的网络开销,批次数据会被压缩。

1.2.2 模式

消息存储的格式,略。

1.2.3 主题(topic)和分区(partition)

1>主题topic:属于同一类消息

2>分区:一个topic有多个分区,每个分区的消息是有顺序的,但是因为topic有多个分区,所以topic的消息不保证有序。

1.2.4 生产者和消费者

1>生产者:生产者将消息写入topic,并均衡的写入不同分区,但也可以根据键来写入指定的分区

2>消费者:消息在分区中有唯一的偏移量,消费者将分区最后的偏移量记录在zookeeper或kafka上,一个消费组不会重复消费topic上的消息,一个分区只能被消费组中的一个消费者消费,即消费者拥有partition

1.2.5 broker和集群

1>独立的kafka服务器称为broker。单个broker可以轻松处理数千个分区以及每秒百万级。

2>每个集群有broker为集群控制器,一个分区可以分配给多个broker,这时会复制分区。

3>broker会为消费者返回已存在磁盘上的消息。

4>保留消息:消息保留一定时间或一定字节数,也可以通过配置将带有特定键的消息保留。

1.2.6 多集群

MirrorMaker用于集群之间的通信

1.3 为什么选择kafka

1.3.1 多个生产者

1.3.2 多个消费者

存在消费组概念,消费组内不可重复消费,消费组之间相互独立

1.3.3 基于磁盘的数据存储

Topic根据保留规则进行保存

1.3.4 伸缩性

可以从一个broker扩展至上百个。但需要高容错,高可用,需配置较高的复制系数。

1.3.5 高性能

多生产者+多消费者+伸缩性+给予磁盘的数据存储

1.4 数据生态系统

使用场景:

1>活动跟踪:前端用户行为传递

2>传递消息

3>度量指标和日志记录

4>提交日志,如数据库更新日志,为故障恢复提供缓冲

5>流处理:(11章)

1.5 起源故事

相关推荐
折哥的程序人生 · 物流技术专研2 分钟前
《Java 100 天进阶之路》第95篇:消息队列基础(RocketMQ/Kafka)(2026版)
java·面试·kafka·rocketmq·java-rocketmq·求职招聘
sensen_kiss1 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.8 软件测试 (Software Testing)(上)
学习·软件工程
力学与人工智能1 小时前
PPT分享 | 洛桑联邦理工学院魏震:深度几何学习在工业设计优化中的应用
学习·优化·工业设计·深度几何学习·洛桑联邦理工学院
彼岸星光ぐ>2 小时前
Windows系统下Kafka KRaft模式配置与启动教程
kafka
sensen_kiss3 小时前
CPT304 SoftwareEngineeringII 软件工程 2 Pt.9 软件测试 (Software Testing)(下)
学习·软件工程
wu_ye_m3 小时前
学习c语言第35天 函数声明和定义
c语言·开发语言·学习
清辞8533 小时前
Coze从入门到实战---第一、二章
大数据·人工智能·学习·语言模型
伊布拉西莫4 小时前
【流畅的Python】第20章:并发执行器 — 学习笔记
笔记·python·学习
jinglong.zha4 小时前
LScript-从零基础到商业变现的AI自动化学习平台
运维·学习·自动化
闪闪发亮的小星星4 小时前
STK_00 学习方案路线
学习