Kafka精选面试题

1. 如何保证幂等性?

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

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

2. kafka为什么这么快?

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

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

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

相关推荐
码农水水2 分钟前
国家电网Java面试被问:二叉树的前序、中序、后序遍历
java·开发语言·面试
零雲41 分钟前
java面试:@Resource和@Autowired的区别
java·开发语言·面试
阿芯爱编程41 分钟前
前端面试题linux操作
前端·面试
007php0071 小时前
Git 操作偏门指南:常用和隐藏命令与问题解决
java·git·面试·职场和发展·golang·jenkins·php
用户6802659051191 小时前
2026年企业级网络监控选型指南
javascript·后端·面试
飞Link2 小时前
【Hadoop】Linux(CentOS7)下安装Hadoop集群
大数据·linux·hadoop·分布式
倚肆2 小时前
Kafka部署指南:单机开发模式与集群生产模式( 4.1.1 版本)
java·分布式·kafka
@淡 定3 小时前
分布式事务解决方案
分布式·wpf
努力学算法的蒟蒻4 小时前
day49(12.30)——leetcode面试经典150
算法·leetcode·面试
大厂技术总监下海5 小时前
为何顶尖科技公司都依赖它?解码 Protocol Buffers 背后的高性能、可演进设计模式
分布式·设计模式