前段时间写了Kafka快速入门系列1-8,但苦于知识点非常繁琐,对于很多初级选手来说并不友好,因此博主又根据所学,整理了一份关于Kafka知识点总结,希望对大家的学习有所帮助(✪ω✪)
码字不易,先赞后看!
文章目录
-
-
- 1. 什么是Kafka
- 2. Kafka的使用场景
- 3. Kafka优缺点
- 4. Kafka架构(流程)
- 5. Kafka架构(API)
- 6.Topic内部有哪些组成?
- 7.分区和消费组内的消费者之间的关系有哪些情况?
- 8. 分区数、消费者与读取效率之间的关系
- 9. 副本数与broker之间的关系
- 10. 什么是主/从副本
- 11. 主/从复本的作用是什么
- 12. Isr是什么
- 13. 生产者生产数据到kafka集群,数据到分区的方式
- 14. Consumer消费数据的流程
- 15. Kafka中的数据删除机制是什么?
- 16. Kafka如何保证数据不丢失
- 17. Kafka高性能的原因有哪里
- 18. Kafka高效查询数据的有哪些原因
- 19. 如何从Kafka得到准确的信息(不是重读数据)?
- 20. Kafka的设计是什么样的呢?
- 21. 数据传输的事物定义有哪三种?
- 22. Kafka判断一个节点是否还活着有哪些条件?
- 23. Kafka 与传统消息系统之间有哪些区别?
- 24. Kafka创建Topic时将分区放置到不同的Broker的策略是什么?
- 25. Kafka新建的分区会在哪个目录下创建
- 26. partition的数据如何保存到硬盘
- 27. kafka的ack机制
- 28. Kafka的消费者如何消费数据
- 29. 如何使kafka集群内的数据是有序的?
- 30. Zookeeper汇总保留了哪些数据?
- 31. kafka consumer 什么情况会触发再平衡reblance?
- 32、描述下kafka consumer 再平衡步骤?
- 33. 手动提交offset有什么好处??
- 34. 为什么kafka中的数据需要定期删除或合并?
-
1. 什么是Kafka
kafka是一个分布式,分区的,多副本的,多订阅者的消息发布订阅系统。
2. Kafka的使用场景
应用耦合、异步处理、限流削峰、消息驱动的系统。
3. Kafka优缺点
优点:
可靠性强(分布式-分区-副本)、扩展性强(可伸缩)、性能高(数据读写)、耐用性强(数据持久化)、时效性强。
缺点:
-
由于是批量发送,数据并非真正的实时。
-
仅支持统一分区内消息有序,无法实现全局消息有序;
-
有可能消息重复消费;
-
依赖zookeeper进行元数据管理。
4. Kafka架构(流程)
生产者、kafka集群、消费者、zookeeper
5. Kafka架构(API)
生产者、消费者、StreamAPI、ConnectAPI
6.Topic内部有哪些组成?
每个Topic包含一个或者多个Partition,一个partition当中存在多个segment文件段,每个segment分为两部分,.log文件和.index文件。
7.分区和消费组内的消费者之间的关系有哪些情况?
Partition = 消费任务的并发度=刚刚好,每个任务读取一个partition数据
Partition > 消费任务的并发度=有部分消费任务读取多个分区的数据
Partition < 消费任务的并发度=有部分消费任务空闲(可以创建多于分区的消费者数量)
8. 分区数、消费者与读取效率之间的关系
分区数越多,同一时间可以有越多的消费者来进行消费,消费数据的速度就会越快,提高消费的性能
9. 副本数与broker之间的关系
数据副本(包含本身)数一般情况下小于等于broker的个数
10. 什么是主/从副本
被复制的分区叫做主副本(Leader),复制出来的叫做从副本(Follower)
11. 主/从复本的作用是什么
主副本负责数据的读写。
从副本只做数据备份,不做数据读写。
12. Isr是什么
ISR是一组与leaders完全同步的消息副本(包括leaders本身)。