Kafka的面试中,一般会涉及以下几个方面的问题:
Kafka的基本概念和架构:例如,Kafka的生产者、消费者、Broker、Topic、Partition、Offset、消息流等概念,以及Kafka的整体架构和设计原理。
基本概念
Broker: Kafka集群中的一个节点,负责存储和处理消息。
Topic: 消息发布的类别或者主题,Kafka消息通过topic进行归类和区分。
Partition: Topic物理上的分组,一个Topic可以分为多个Partition,每个Partition是一个有序的消息队列。
Producer: 生产者,负责向Kafka Broker发送消息。
Consumer: 消费者,从Kafka Broker消费消息。
Consumer Group: 消费者分组,多个消费者可以组成一个消费者组来消费一个Topic,组内的每个消费者消费不同Partition的数据。
Offset: 消息在Partition中的偏移量,Kafka通过Offset来标识消费者消费的进度。
Broker集群:多个Broker组成一个Kafka集群,数据会被复制到多个Broker上以实现高可用性。
架构
Kafka的架构主要包括生产者、Broker集群、消费者和Zookeeper四部分。