1.kafka集群的架构 1.broker 2.topic 3.partition:分区,把同一个topic分成不同的分区,提高负载 1.leader 分区的主节点 2.follower 分区的从节点 4.consumer group 2. 生产者往kafka发送数据的流程(6步) 1.生产者从kafka集群中获取分区leader的信息 2.发送数据到leader 3.leader数据落盘 4.follower从leader拉取消息数据 5.follower将消息写入本地磁盘后将ACK发给leader 6.leader收到所有的follower的ACK之后向生产者发送ACK 3.kafka选择分区的模式(3种) 1.指定往那个分区写 2.指定key,kafka根据key做hash,然后决定写哪个分区 3.既没指定分区,又没指定key,轮询分区 4.生产者往kakfa发送数据的模式 1. 0:把数据发给leader就算成功,效率最高,但安全性低 2. 1:把数据发送给leader,等待leader回ACK 3. all: 把数据发给leader,确保follower从leader拉取数据回复ACK给leader,leader再回复生产者ack;安全性最高 5.分区存储文件的原理 6.为什么kafka快 7.消费数据的原理