Kafka面试集结

1. Kafka的哪些设计让他有如此高的性能
	1.1 分布式
	1.2 顺序写磁盘(减少磁盘寻指针的过程)
	1.3 零拷贝(内存读写不过代码)
2. Kafka Controller如何根据offset查找相应的消息
	1.1 二分法先在index文件定位
	1.2 然后查找log文件数据
3. Kafka有哪些选举
	1.1 Controller的资源争夺
	1.2 leader的ISR选举:根据数据同步的时间快慢
4. Kafka重复消费、遗漏消费
	1.1 重复消费: 先处理数据,后提交offset,当处理完成但是挂机时,offset未提交,导致重启后重复消费
	1.2 遗漏消费: 先提交offset,挂机后,未处理数据,再次启动,有一部分数据便会被遗漏消费
5. Kafka自身存储offset为0开始,Kafka消费者提交的则是当前最新消息的offset+1
6. 当消费者组内消费者数大于topic的分区数时,绝对会有消费者闲置浪费资源
7. Kafka 拦截器>序列化器>分区器
8. Kafka消息分区内有序,topic无序
9. Kafka HW(high water)消费者可见的最大offset
	Kafka LEO 每一个分区自己的offset
10. Kafka机器数量 = 2*(峰值生产速度*副本数/100+1
11. Kafka数据量计算
	每天总数据量100g 每天产生1亿条数据 10000/24/60/60=1150/秒
	平均每秒 1150条
	低谷每秒 400条
	高峰每秒 1150*2-20=2300-23000条
	每条日志大小 0.5k-2k
	每秒多少数据量 2.3M-20M
12. kafka消息数据积压,Kafka消费能力不足怎么处理?
	12.1 增加分区数和消费者(相等) 增加消费能力
	12.2 增加每次拉取的数量 max.poll.records=500
	 

猜你喜欢

转载自blog.csdn.net/q18729096963/article/details/114341625