问题导读
一、producer 是否直接将数据发送到broker 的leader(主节点)?
二、Kafa consumer 是否可以消费指定分区消息吗?
三、Kafka 高效文件存储设计特点是什么?
01
producer 是否直接将数据发送到broker 的leader(主节点)?
正经回答:
producer 直接将数据发送到broker 的leader(主节点),不需要在多个节点进行分发,
为了帮助producer 做到这点,所有的Kafka 节点都可以及时的告知:哪些节点是活动的,
目标topic 目标分区的leader 在哪。
这样producer 就可以直接将消息发送到目的地了。
分享朋友圈,记录学习每一天~
02
Kafa consumer 是否可以消费指定分区消息吗?
正经回答:
Kafa consumer 消费消息时,向broker 发出"fetch"请求去消费特定分区的消息, consumer 指定消息在日志中的偏移量(offset),就可以消费从这个位置开始的消息, customer 拥有了offset 的控制权,可以向后回滚去重新消费之前的消息,这是很有意义的。
03
Kafka 高效文件存储设计特点是什么?
正经回答:
Kafka 把topic 中一个parition 大文件分成多个小文件段,通过多个小文件段,就容易定清除或删除已经消费完文件,减少磁盘占用。 通过索引信息可以快速定位message 和确定response 的最大大小。 通过index 元数据全部映射到memory,可以避免segment file 的IO 磁盘操作。 通过索引文件稀疏存储,可以大幅降低index 文件元数据占用空间大小。
- End -