Kafka精选面试题

1. 如何保证幂等性?

幂等性其实是消息的一致性, 生产和消费都只有一次, 所以分为生产者幂等性和消费者幂等性.

实际开发过程中, 一般只会保证消费幂等性, 所以面试时直接回答消费幂等就行
做法就是做唯一id, 在消费端做个判断,如果唯一id已存在则不做消费处理, 这个唯一id一般会借用数据库的唯一性

2. kafka为什么这么快?

一、磁盘顺序读写
二、Page Cache

Kafka利用了操作系统本身的Page Cache,就是利用操作系统自身的内存而不是JVM空间内存
三、零拷贝
四、分区分段+索引

Kafka的message是按topic分类存储的,topic中的数据又是按照一个一个的partition即分区存储到不同broker节点。每个partition对应了操作系统上的一个文件夹,partition实际上又是按照segment分段存储的。这也非常符合分布式系统分区分桶的设计思想。
五、批量读写
六、批量压缩

相关推荐
AAA修煤气灶刘哥19 分钟前
ES 聚合爽到飞起!从分桶到 Java 实操,再也不用翻烂文档
后端·elasticsearch·面试
小高00722 分钟前
🚨 2025 最该淘汰的 10 个前端 API!
前端·javascript·面试
大厂码农老A25 分钟前
面试官:“聊聊你最复杂的项目?” 为什么90%的候选人第一句就栽了?
java·面试
黑客飓风1 小时前
从基础功能到自主决策, Agent 开发进阶路怎么走?
面试·log4j·bug
项目題供诗1 小时前
Hadoop(八)
大数据·hadoop·分布式
在未来等你1 小时前
Kafka面试精讲 Day 7:消息序列化与压缩策略
大数据·分布式·面试·kafka·消息队列
在未来等你1 小时前
Kafka面试精讲 Day 10:事务机制与幂等性保证
大数据·分布式·面试·kafka·消息队列
沐怡旸1 小时前
【算法--链表】109.有序链表转换二叉搜索树--通俗讲解
算法·面试
UrbanJazzerati1 小时前
从零开始前端入门之路 —— VS Code 插件安装 + CSS Reset + Flex 布局
面试
知其然亦知其所以然1 小时前
一条 SQL 的一生,从出生到谢幕,揭秘 MySQL8.x 内幕
后端·mysql·面试