文章目录
- KafKa
- Kafka中的ISR、AR代表什么?ISR的伸缩指什么?
- kafka中的broker 是干什么的?
- kafka中的 zookeeper 起到什么作用?
- kafka follower如何与leader同步数据?
- kafka 为什么那么快?
- kafka producer如何优化打入速度?
- kafka producer发送数据,ack为0,1,-1分别是什么意思?
- kafka的message格式是什么样的?
- kafka中consumer group 是什么概念?
- Kafka中的消息是否会丢失和重复消费?
- 为什么Kafka不支持读写分离?
KafKa
下边是我自己整理的面试题,基本已经很全面了,想要的可以私信我,我会不定期去更新思维导图
哪里不会点哪里
Kafka中的ISR、AR代表什么?ISR的伸缩指什么?
- ISR:In-Sync Replicas 副本同步队列
- AR:Assigned Replicas 所有副本
- ISR是由leader维护,follower从leader同步数据有一些延迟(包括延迟时间replica.lag.time.max.ms和延迟条数replica.lag.max.messages两个维度,当前最新的版本0.10.x中只支持replica.lag.time.max.ms这个维度),任意一个超过阈值都会把follower剔除出ISR,存入OSR(Outof-Sync Replicas)列表,新加入的follower也会先存放在OSR中。
- AR=ISR+OSR。
kafka中的broker 是干什么的?
broker 是消息的代理,
Producers往Brokers里面的指定Topic中写消息,Consumers从Brokers里面拉取指定Topic的消息,然后进行业务处理,broker在中间起到一个代理保存消息的中转站。
kafka中的 zookeeper 起到什么作用?
zookeeper 是一个分布式的协调组件,早期版本的kafka用zk做meta信息存储,consumer的消费状态,group的管理以及 offset的值。
考虑到zk本身的一些因素以及整个架构较大概率存在单点问题,新版本中逐渐弱化了zookeeper的作用。新的consumer使用了kafka内部的group coordination协议,也减少了对zookeeper的依赖。