Kafka面试

1、基本信息

	1)组成 
		生产者  broker  消费者   zk 
	2)kafka安装多少台= 2 * (生产者峰值生产速率 * 副本 / 100) + 1 = 3台
	
	3)压测:生产者峰值生产速率  消费者峰值消费速率
	4)副本:默认1个副本 =》 生产环境2-3 个   2个居多
		副本多的好处,可靠性高;  坏处,效率低 
	5)kafka速率
		100万日活  没人每天100条日志   每天多少条日志=100万 * 100条 = 1亿条
		1亿条 / (3600 * 24)= 1150条/s   1m/s 
		什么时间段达到数据峰值  7-12点    30m/s    50m/s 
	6)数据保存多久
		默认保存7天,=》 3天     6个小时
		
	7)磁盘空间预留多大
		 1亿条  *  1k =  100g 
	
		100g * 2(副本) * 3天 /0.7 = 1t
	8)是否做了监控
		kafka manager(滴滴jdk11)  kafka eagle    开源免费   
		我们公司自己开发的   仰视大佬 
		
	9)分区
		分区能提高并发度
		期望  吞吐量达到 t 100m/s 
		现实  tp  20m/s  
			  tc  40m/s 
		分区数= t / min(tp, tc ) = 100/ 20  = 5个分区
	10)分区分配策略
		粘性分区
		
		range 
		10个分区  3个消费者线程
		0 1 2 3    容易产生 数据倾斜
		4 5 6
		7 8 9
					
		rand... 
		所有数据全部按照hash方式打散,然后轮询执行
	11)ISR 
		解决leader挂了谁当老大的问题
		旧版本,延迟时间、延迟条数   新版本,延迟时间
		
	12)多少个Topic
		要满足下一级所有消费者

2、挂了

	kafka channel  接收不到数据
	30天日志备份

3、丢了

	ack的配置
		0    生产者发送过来数据 就不管了,   效率高,  可靠性差  
		1    生产者发送过来数据  Leader应答, 效率一般, 可靠性一般
		-1   生产者发送过来数据  Leader+ follower共同应答, 效率差, 可靠性高
		在生产环境怎么配置?
		0  生产环境不会用;
		1 :通常情况 处理普通日志
		-1:通常情况,金融和钱相关的。

4、重复了

	幂等性 + 事务 + ack =-1    一般会在 hive dwd  spark  redis  flink 

5、积压了

	增加分区  原来1个分区=》 5个分区    消费者CPU(1个)  必须配套增加
	可以增加消费者每批次拉取的数据量  1000   2000-3000

6、优化

单条信息最大处理量:1m   ->     5m
内存:  1G   ->    5G
副本数1个变多个
数据留存7天变3天
网络通讯延时参数调大,防止频繁复制副本

7、杂七杂八

	1)Kafka高效读写数据
		(1)自己是集群 ,可以设置分区
		(2)顺序读写  
		(3)零拷贝技术
		
	2)传输过来2m 的日志,会出现什么问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值