Kafka精选面试题

1. 如何保证幂等性?

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

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

2. kafka为什么这么快?

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

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

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

相关推荐
爱学测试的雨果29 分钟前
收藏!软件测试面试题
开发语言·面试·职场和发展
文涛是个小白呀32 分钟前
Java集合大调研
java·学习·链表·面试
五点六六六35 分钟前
双非同学校招笔记——离开字节入职小📕
前端·面试·程序员
川Princess1 小时前
【面试经验】梅赛德斯奔驰X-Seed AI Systems - Autonomous Driving Agent Efficiency二面
面试·职场和发展
Heo2 小时前
Webpack高级之常用配置项
前端·javascript·面试
用户84913717547162 小时前
从源码看设计:Java 集合框架的安全性与性能权衡 (基于 JDK 1.8)
java·面试
xiaoxue..3 小时前
栈的全面解析:ADT、实现与应用
javascript·数据结构·面试
C***u1764 小时前
分布式多卡训练(DDP)踩坑
分布式
t***q334 小时前
分布式监控Skywalking安装及使用教程(保姆级教程)
分布式·skywalking
CNRio4 小时前
人工智能基础架构与算力之2 异构算力合池技术:打破资源壁垒的分布式 AI 部署方案
人工智能·分布式