kafka夺命连环三十问(16-22)

16、kafka是如何做到高效读写

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

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

3,顺写磁盘

4,页缓存+零拷贝技术

17、Kafka集群中数据的存储是按照什么方式存储的?

Kafka使用自己的文件存储系统来存储消息。每个分区的数据被存储在一系列文件中,这些文件被称为segment。每个segment包含一个.log文件和一个.index文件。.log文件存储消息的二进制数据,而.index文件存储消息的索引信息,用于快速定位消息。

18、kafka中是如何快速定位到一个offset的。

在kafka中要快速定位一个offset主要依赖于其稀疏索引机制,当需要读取特定offset的数据时,先通过稀疏索引确定数据所在的segment范围,然后在该segment内进一步查找

19、简述kafka中的数据清理策略。

1,基于时间的数据清理

2,基于大小的数据清理

3,日志清理策略

kafka提供了两种日志清理策略:delete和compact

一种是基于时间的,另外一种是基于大小

1,delete它会删除所有过期的数据,如果segment中既有过期数据也有未过期数据,kafka会保留未过期的数据,删除过期的部分,这样可以保证数据的完整性

2,compact 日志压缩(合并的意思,不是真的压缩)

compact日志压缩:对于相同key的不同value值,只保留最后一个版本。

4,日志清理的触发

20、消费者组和分区数之间的关系是怎样的?

消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费

21、kafka如何知道哪个消费者消费哪个分区?

groupld对五十取模,看最后结果是哪个分区节点,假如是1分区,那么1分区的协调器就是本次消费者组的老大,消费者向该协调器注册,协调器从中随机选择一个消费者作为本次消费的leader,然后让leader制作计划,哪个消费者消费哪个分区

22、kafka消费者的消费分区策略有哪些,默认是个?

kafka有四种主流的分区分配策略:Range、RoundRobin(轮询)、Sticky(粘性)、CooperativeSticky(配合的粘性)。

默认情况下,Kafka使用的分区分配策略是RangeAssignor,即范围分配策略。

相关推荐
真上帝的左手26 分钟前
30. 技术专题-‌应用框架组件-分布式架构
分布式·架构·系统架构·分布式架构
zixu_star15 小时前
从单机到分布式:定时任务如何处理大量数据与执行失败?
分布式
lsc_blog1 天前
听到优化风声,先准备能由自己掌控的事
数据库·分布式·中间件·职场和发展·重构
Lansonli3 天前
大数据Spark(八十七):Spark-Submit 参数详解
大数据·分布式·spark
qq_452396233 天前
第二篇:《CommitLog + ConsumeQueue:一条日志解决 Kafka 多分区随机写的难题》
分布式·kafka
Alluxio3 天前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
阿卡好可爱4 天前
Lua 热更新不生效:改完文件线上仍是旧逻辑,package.loaded 与 upvalue 重绑定详解
数据结构·分布式·后端·架构·lua
我不会起名字3224 天前
消费回调固定 return nil:错误传播与 Kafka 位点提交的区别
后端·mongodb·kafka·go·im·故障排查
qq_452396235 天前
第十篇:《Kafka 安全加固:SASL、SSL、ACL 与多租户隔离》
安全·kafka·ssl