kafka学习笔记

1、生产者

kafka基础架构

发送流程

在消息发送的过程中,涉及到了两个线程------main线程和Sender线程 。在main线程中创建了一个双端队列RecordAccumulator。main线程将消息发送给RecordAccumulator,Sender线程不断从RecordAccumulator中拉取消息发送到KafkaBroker。

生产者重要参数配置

kafka分区的好处

kafka生产者发送消息分区策略

生产者如何提高吞吐量

如何保证发送数据的可靠性

如何保证数据不重复(幂等性和事务)

如何保证数据有序

2、broker

Zookeeper 存储的 Kafka信息

Kafka Broker总体工作流程

broker重要参数

副本基本信息

(1)Kafka 副本作用:提高数据可靠性。

(2)Kafka 默认副本 1 个,生产环境一般配置为 2 个,保证数据可靠性;太多副本会

增加磁盘存储空间,增加网络上数据传输,降低效率。

(3)Kafka 中副本分为:Leader 和 Follower。Kafka 生产者只会把数据发往 Leader,

然后 Follower 找 Leader 进行同步数据。

(4)Kafka 分区中的所有副本统称为 AR(Assigned Repllicas)。

AR = ISR + OSR

ISR ,表示和 Leader 保持同步的 Follower 集合。如果 Follower 长时间未向 Leader 发送通信请求或同步数据,则该 Follower 将被踢出 ISR。该时间阈值由 replica.lag.time.max.ms参数设定,默认 30s。Leader 发生故障之后,就会从 ISR 中选举新的 Leader。

OSR,表示 Follower 与 Leader 副本同步时,延迟过多的副本。

Leader选举流程

Leader Follower 故障处理细节

Leader Partition 负载平衡

kafka数据文件存储

文件清理策略

kafka高效读写数据的原理

1)Kafka 本身是分布式集群,可以采用分区技术,并行度高

2)读数据采用稀疏索引,可以快速定位要消费的数据

3)顺序写磁盘

Kafka 的 producer 生产数据,要写入到 log 文件中,写的过程是一直追加到文件末端,为顺序写。官网有数据表明,同样的磁盘,顺序写能到 600M/s,而随机写只有 100K/s。这与磁盘的机械机构有关,顺序写之所以快,是因为其省去了大量磁头寻址的时间。

4 )页缓存 + 零拷贝技术

3、消费者

kafka消费模式

消费者工作流程

消费者组原理

消费者组初始化流程

消费者组详细消费流程

消费者重要参数配置

分区的分配与再平衡

分区策略

offset的维护位置

自动提交与手动提交offset

指定offset消费

重复消费与漏消费

消息者如何提交吞吐量

相关推荐
网安INF3 小时前
CVE-2023-25194源码分析与漏洞复现(Kafka JNDI注入)
java·web安全·网络安全·kafka·漏洞·jndi注入
HAPPY酷17 小时前
Kafka 和Redis 在系统架构中的位置
redis·kafka·系统架构
忆雾屿17 小时前
云原生时代 Kafka 深度实践:06原理剖析与源码解读
java·后端·云原生·kafka
TCChzp19 小时前
Kafka入门-消费者
分布式·kafka
Dnui_King1 天前
Kafka 入门指南与一键部署
分布式·kafka
TCChzp1 天前
Kafka入门-生产者
分布式·kafka
计算机毕设定制辅导-无忧学长1 天前
Kafka 快速上手:安装部署与 HelloWorld 实践(二)
分布式·kafka
计算机毕设定制辅导-无忧学长2 天前
Kafka 核心架构与消息模型深度解析(二)
架构·kafka·linq
计算机毕设定制辅导-无忧学长2 天前
Kafka 核心架构与消息模型深度解析(一)
分布式·架构·kafka
Hoking2 天前
Kafka集群部署(docker容器方式)SASL认证(zookeeper)
docker·zookeeper·kafka