29 lines
1.1 KiB
Plaintext
29 lines
1.1 KiB
Plaintext
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.消费数据的原理
|
||
|