Apache Kafka面试题和答案 - [ Java技术面试题 ]

Apache Kafka面试题和答案

Apache Kafka是使用Scala语言编写的工具之一,可在Java中公开运行,并提供基于代理,基于消费者,基于生产者和基于主题的特定功能。 它的开发目的是为管理大量数据提供统一且高性能的平台。

1. Apache Kafka是什么?

它是一个发布 - 订阅消息传递应用程序和Apache软件启动的开源消息代理项目。 Kafka是基于事务日志设计而设计的。

详细答案>>

2. Apache Kafka使用什么语言编写?

Kafka是用Java和Scala编程语言编写的。

详细答案>>

3. Apache Kafka消息是什么?

Kafka消息可以简单地定义为开发人员用来以String,JSON和Avro格式存储对象的字节数组。

详细答案>>

4. Apache Kafka可以用来做什么?

Apache Kafka的一些用例是:

  • 消息队列
  • 事件流
  • 跟踪和记录
详细答案>>

5. Kafka集群是什么?

无论是否使用可配置的保留消费者,Kafka群集都会保留所有已发布的记录。

详细答案>>

6. Apache Kafka和RabbitMQ有什么区别?

Apache Kafka它是分布式的,并且数据的复制具有持久性和可用性。性能速率很高,每秒100,000条消息。 它还带有允许可靠日志数据处理的消费者框架。 RabbitMQ 它对复制等功能的支持相对较少。 性能速率为每秒20,000条消息。此处的消费者是基于FIFO的,从HEAD读取并从1读取进程。详细答案>>

7. Apache Kafka有哪些替代方案?

虽然我们找不到具有相同Kafka概念的系统,但仍然可以考虑其他消息代理,如ActiveMQ,ZeroMQ,RabbitMQ等。

详细答案>>

8. 使用Apache Kafka有哪些好处?

Apache Kafka除了具有传统的消息传递技术外,还具有以下优点:

  • 它速度很快
  • 数据在群集上进行分区和简化,以实现更大的可扩展性。
  • 它很耐用
  • 按设计分发
详细答案>>

9. Apache Kafka提供哪些主要API?

Apache Kafka有四种主要的API:

  • 生产者API
  • 消费者API
  • Streams API
  • 连接器API
详细答案>>

10. zookeeper在 Kafka集群中的角色是什么?

Zookeeper用于存储和保留偏移相关信息,这些信息用于在Kafka环境中由特定消费者组使用特定主题。

详细答案>>

11. 什么是消息代理?

在Kafka中,消息代理是指具有存储发布者消息功能的消息服务器。

详细答案>>

12. 在Apache Kafka中serDes是什么?

SerDes表示串行器和解串器。每个Kafka流都必须为记录的数据类型提供SerDes,并在必要时记录值以实现数据。

详细答案>>

13. Apache Kafka消息的格式是什么样的?

Kafka将消息的提要保存在被称为主题的类别中。 在高级别,生产者向Kafka集群发送消息,该集群包括称为代理的服务器,后者又向消费者提供消息。

详细答案>>

14. 如何使用Kafka实现FIFO行为?

要使用Kafka实现FIFO行为,请按照以下步骤操作: 设置enable.auto.commit = false处理完消息后,不要调用consumer.commitSync();调用“订阅”并将消费者注册到主题。实现consumerRebalance Listener并执行consumer.seek(topicPartition,offset);在监听器中。处理消息,保存每个消息的偏移量,使用原子事务将已处理消息的偏移量与已处理消息的偏移量一起存储。实施幂等作为安全网。详细答案>>

15. Apache flume和Kafka区别?

虽然它们都用于实时处理,但Kafka更具可扩展性并确保消息的持久性。

详细答案>>

16. 如何使用Kafka(超过15MB)发送大量邮件?

通过按如下方式调整三个或四个属性,可以成功发送大型邮件而不会遇到任何异常。 消费者方面 - fetch.message.max.bytes中间者方面 - replica.fetch.max.bytes中间者方面 - message.max.bytes中间者方面(每个主题) - max.message.bytes详细答案>>

17. 什么是Kafka的消费者组?

它只不过是Kafka的独家概念。每个消费者群组都有一个或多个使用订阅主题的消费者。

详细答案>>

18. Kafka的Leader 与 Follower 之间有什么区别?

Kafka中的每个分区都有一个扮演 Leader 角色的服务器,而没有一个或多个服务器充当Follower。Leader执行所有读写请求的任务,而关注者被动地复制Leader的角色。 为了确保负载平衡,其中一个关注者在Leader失败的情况下扮演Leader的角色。详细答案>>

19. 偏移在Kafka的作用是什么?

偏移量是分配给分区的唯一ID,其中包含消息。偏移量最重要的用途是它通过id识别消息,这些消息在分区中可用。

详细答案>>

20. 可以在没有Zookeeper的情况下使用Kafka吗?

不可以,没有Zookeeper就不可能使用Kafka,因为用户将无法直接连接到Kafka服务器。 并且,如果由于某种原因,Zookeeper关闭,那么用户将无法访问任何客户端请求。

详细答案>>
注: 此试题仅作为相关知识水平测试,不能作为权威试题和答案。非商业转载注明原文链接即可;商业转载需本站授权同意。