Kafka精选面试题

1. 如何保证幂等性?

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

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

2. kafka为什么这么快?

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

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

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

相关推荐
此时不提桶,更待何时13 小时前
05-03-B-ClickHouse与OLAP面试与生产事故实战
clickhouse·面试·nosql
此时不提桶,更待何时14 小时前
03-04-B-连接池与DB治理面试与生产事故实战
mysql·面试
kaiyou202615 小时前
数据分析岗面试,如何把考证学到的知识讲成业务案例?
面试·数据挖掘·数据分析
灯澜忆梦17 小时前
【RabbitMQ #3】 | Go 客户端 + SpringAMQP
分布式·golang·rabbitmq
智购科技自动售货机工厂19 小时前
数字人民币硬钱包支付失败,排查发现是NFC读卡器功率不足~YH
python·面试·架构·eclipse·emacs
Sam_Deep_Thinking21 小时前
如何理解java的信号量
java·后端·面试·程序员
王中阳Go1 天前
面试官问"你怎么证明它有效",200个转AI的后端没几个答得上来
人工智能·后端·面试
进击的明明1 天前
TypeScript速通笔记(上)
前端·面试·typescript
老马识码1 天前
[agent开发面试]上下文工程与压缩:Agent 的稀缺资源
人工智能·面试
时间的拾荒人1 天前
Qt 信号与槽机制详解(二):连接方式详解与面试指南
开发语言·qt·面试