kafka的高频面试题
时间: 2023-10-25 11:40:25 浏览: 41
以下是一些 Kafka 高频面试题:
1. 什么是 Kafka?
Kafka 是一个分布式流处理平台,主要用于处理实时数据流和实时数据流的存储。它使用发布/订阅模式,支持高吞吐量、持久性和容错性。
2. Kafka 的主要组件有哪些?
Kafka 的主要组件包括生产者、消费者、Broker、主题、分区和副本。
3. Kafka 中的分区有什么作用?
分区是 Kafka 中的一个重要概念,它允许将主题分成多个部分,以便实现水平扩展和并行处理。每个分区都有一个唯一的标识符,称为分区 ID。
4. Kafka 的消息保证模式有哪些?
Kafka 提供两种消息保证模式:at least once 和 exactly once。at least once 模式确保每条消息最少被传递一次,而 exactly once 模式确保每条消息恰好被传递一次。
5. Kafka 的消息保存策略有哪些?
Kafka 的消息保存策略包括删除与保留。删除策略包括删除旧的消息和删除无用的主题,保留策略包括保留最近的消息和保留所有消息。
6. Kafka 的主题是如何分配到分区的?
Kafka 使用一种称为哈希分区的算法,将主题中的消息均匀分配到分区中。该算法使用消息键和分区数来计算消息应该被分配到哪个分区中。
7. Kafka 中的消费者组是什么?
消费者组是一组消费者,用于消费同一主题的消息。Kafka 使用消费者组来实现负载平衡和故障转移。
8. Kafka 中的 ISR 是什么?
ISR(In-Sync Replicas)是指与主副本同步的备份副本。当主副本失效时,ISR 中的任何一个备份副本都可以被提升为新的主副本。
9. Kafka 中的副本同步是如何实现的?
Kafka 中的副本同步是通过使用复制管道来实现的。主副本将消息写入其本地日志中,并将消息发送到其所有备份副本的复制管道中。备份副本将消息写入其本地日志中,并在收到确认后将确认发送回主副本。
10. Kafka 中的消费者如何处理消息的重复?
在 at least once 模式下,消费者可能会收到重复的消息。为了避免重复处理,消费者可以使用消息的唯一标识符来检查消息是否已经被处理过。