Kafka必备知识点(简单总结)
文章目录
- Kafka必备知识点(简单总结)
-
-
-
- 1.kafka从生产到消费的流程
- 2、什么是kafka
- 3、kafka的使用场景
- 4、kafka优缺点
- 5、Kafka架构(流程)
- 6、Kafka架构(API)
- 7、Topic内部有哪些组成?
- 8、分区和消费组内的消费者之间的关系有哪些情况?
- 9、分区数、消费者与读取效率之间的关系
- 10、副本数与broker之间的关系
- 11、什么是主/从副本
- 12、主/从复本的作用是什么
- 13、lsr是什么?
- 14、生产者生产数据到kafka集群,数据到分区的方式
- 15、Consumer消费数据的流程
- 16、Kafka中的数据删除机制是什么?
- 17、Kafka如何保证数据不丢失
- 18、Kafka高性能的原因有哪里?
- 19、Kafka高效查询数据的有哪些原因
- 20、如何从Kafka得到准确的信息(不是重读数据)?
- 21、Kafka的设计是什么样的呢?
- 22、数据传输的事物定义有哪三种?
- 23、Kafka判断一个节点是否还活着有哪些条件?
- 24、Kafka 与传统消息系统之间有哪些区别?
- 25、Kafka创建Topic时将分区放置到不同的Broker的策略是什么?
- 26、Kafka新建的分区会在哪个目录下创建
- 27、partition的数据如何保存到硬盘
- 28、kafka的ack机制
- 29、Kafka的消费者如何消费数据
- 30、如何使kafka集群内的数据是有序的?
- 31、Zookeeper汇总保留了哪些数据?
- 32、kafka consumer 什么情况会触发再平衡reblance?
- 33、描述下kafka consumer 再平衡步骤?
- 34、动提交offset有什么好处??
- 35、为什么kafka中的数据需要定期删除或合并?
-
-
1.kafka从生产到消费的流程
1、Kafka生态系统四大角色,生产者(Producer)、kafka集群(Broker)、消费者(Consumer)、zookeeper
2、每个消费者都必须属于一个消费组,一个组内的消费者可以多个。
3、一个Topic可以有1到多个多个分区(Partition)
4、一个分区可以有1到多个segment。
5、每个segment可以有由一个log和一个index组成。
6、被复制的分区叫做主副本(Leader),复制出来的叫做从副本(Follower)
7、生产者只往主副本写数据,消费者只在主副本拉取数据。
8、从副本只做数据备份,不做数据读写。
【红色字体表示隐藏知识点】
9、一个分区内的一条数据,只能被一个消费组内的一个消费者消费。
10、消费者的最大并发度由topic的分区数量决定
11、分区副本的数量必须小于等于broker的数量
12、一个topic内的多个分区,每个分区只是所有数据的一部分。所有分区的数据累加到一起是这个topic的全部数据。
13、zookeeper中记录了broker的id 、消费者消费数据的offset,消费者与partition的对应关系(ConsumerA—> Partition-0, ConsumerB—> Partition-1)
2、什么是kafka
是一个分布式,分区的,多副本的,多订阅者的消息发布订阅系统。
3、kafka的使用场景
应用耦合、异步处理、限流削峰、消息驱动的系统
4、kafka优缺点
优点:
- 可靠性强(分布式+分区+副本)
- 扩展性强(可伸缩)
- 性能高(数据读写)
- 耐用性强(数据持久化)、时效性强。
缺点:
- 由于是批量发送,数据并非真正的实时
- 仅支持分区内消息有序,无法实现全局消息有序
- 有可能重复消费
- 依赖zookeeper进行元数据管理
5、Kafka架构(流程)
- 生产者
- kafka集群
- 消费者
- zookeeper
6、Kafka架构(API)
- 生产者
- 消费者
- StreamAPI
- ConnectAPI
7、Topic内部有哪些组成?
每个Topic包含一个或者多个Partition,一个partition当中存在多个segment文件段,每个segment分为两部分,.log文件和.index文件。
8、分区和消费组内的消费者之间的关系有哪些情况?
Partition = 消费任务的并发度=刚刚好,每个任务读取一个partition数据
Partiti