文章目录
-
-
-
- 1、Kafka的设计是什么样的?
- 2、数据传输的事物定义有哪三种?
- 3、Kafka判断一个节点是否还活着有那两个条件?
- 4、producer是否直接将数据发送到broker的leader(主节点)?
- 5、Kafa consumer是否可以消费指定分区消息?
- 6、Kafka消息是采用Pull模式,还是Push模式?
- 7、Kafka存储在硬盘上的消息格式是什么?
- 8、Kafka高效文件存储设计特点
- 9、Kafka与传统消息系统之间有三个关键区别
- 10、Kafka创建Topic时如何将分区放置到不同的Broker中
- 11、Kafka新建的分区会在哪个目录下创建
- 12、partition的数据如何保存到硬盘
- 13、kafka 的 ack 机制
- 14、Kafka的消费者如何消费数据
- 15、消费者负载均衡策略
- 16、数据有序
- 17、kafaka生产数据时数据的分组策略
-
-
1、Kafka的设计是什么样的?
Kafka将消息以topic为单位进行归纳将向Kafka topic发布消息的程序成为producers,将预订topics并消费消息的程序成为consumer。
Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一 个broker。
producers通过网络将消息发送到Kafka集群,集群向消费者提 供消息
2、数据传输的事物定义有哪三种?
数据传输的事务定义通常有以下三种级别:
-
最多一次:消息不会被重复发送,最多被传输一次,但也有可能一次不 传输
-
最少一次:消息不会被漏发送,最少被传输一次,但也有可能被重复传 输.
-
精确的一次(Exactly once):不会漏传输也不会重复传输,每个消息都传输 被一次而且仅仅被传输一次,这是大家所期望的
3、Kafka判断一个节点是否还活着有那两个条件?
-
节点必须可以维护和ZooKeeper的连接,Zookeeper通过心跳机制检查每个节点的连接
-
如果节点是个follower,他必须能及时的同步leader的写操作