1 Kafka架构

生产者、Broker、消费者、ZK

注意:Zookeeper中保存Broker id和消费者offsets等信息,但是没有生产者信息。

 【kafka】面试题_压测

 

 

 【kafka】面试题_zookeeper_02

 

 

2 Kafka的机器数量

Kafka机器数量=2  *(峰值生产速度*副本数/100+ 1

3 副本设定

一般我们设置成2个或3个,很多企业设置为2

副本的优势:提高可靠性;副本劣势:增加了网络IO传输

4 Kafka压测

Kafka官方自带压力测试脚本kafka-consumer-perf-test.shkafka-producer-perf-test.sh)。Kafka压测时,可以查看到哪个地方出现了瓶颈CPU,内存,网络IO)。一般都是网络IO达到瓶颈

5 Kafka日志保存时间

默认保存7天;生产环境建议3

6 Kafka监控

公司自己开发的监控器;

开源的监控器:KafkaManagerKafkaMonitor、KafkaEagle

7 Kakfa分区数

1)创建一个只有1个分区的topic

2)测试这个topicproducer吞吐量和consumer吞吐量。

3)假设他们的值分别是TpTc,单位可以是MB/s

4)然后假设总的目标吞吐量是Tt,那么分区数=Tt / minTpTc

例如:producer吞吐量=20m/sconsumer吞吐量=50m/s,期望吞吐量100m/s;

分区数=100 / 20 =5分区

分区数一般设置为:3-10个

8 多少个Topic

通常情况:多少个日志类型就多少个Topic。也有日志类型进行合并的。